版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/debimeng/article/details/87652113
面试题:oracle游标的分类、定义、使用?
分类:静态游标和动态游标
(1)静态游标:显式游标和隐式游标;
定义:
隐式游标一般用于一次只从数据库中提取一行数据;
显式游标可用于一次从数据库中提取多行数据;
使用:
隐式游标:DML操作(insert/update/delete)和单行select...into...
显式游标:
四个步骤---
声明游标-cursor 游标名 is select...
打开游标-open 游标名
提取数据-(循环提取数据),如fetch 游标名 into 记录变量
关闭游标-close 游标名
(2)动态游标
如何使用REF游标 ?
①声明REF 游标类型,确定REF 游标类型;
⑴强类型REF游标:指定retrun type,REF 游标变量的类型必须和return type一致。
语法:Type REF游标名 IS Ref Cursor Return 结果集返回记录类型;
⑵弱类型REF游标:不指定return type,能和任何类型的CURSOR变量匹配,用于获取任何结果集。
语法:Type REF游标名 IS Ref Cursor;
②声明Ref 游标类型变量;
语法:变量名 已声明Ref 游标类型;
③打开REF游标,关联结果集 ;
语法:Open Ref 游标类型变量 For 查询语句返回结果集;
④获取记录,操作记录;
语法:Fatch REF游标名InTo 临时记录类型变量或属性类型变量列表;
⑤关闭游标,完全释放资源;
语法:Close REF游标名;