ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pl/SQL 游标(cursor)的使用

pl/SQL 游标(cursor)的使用

原创 Linux操作系统 作者:liuzhiqiangoracle 时间:2009-08-31 10:40:05 0 删除 编辑
pl/sql中游标分为两类:显式游标、隐式游标。
1,显式游标的使用:分为四步(1)创建游标(2)打开游标(3)获取数据(4)关闭游标。
(1)cursor mycursor(params) is ...
(2)open mycursor(params);
(3)fetch mycursor into myvars...;此处的myvars可以是oracle支持的简单数据类型,也复杂数据类型(record)。
对于record类型的变量,此处的 record变量可以显式申明,也可以隐式申明。其显式申明的结构一定要与游标的结构一致,包括字段的顺序,类型,大小等。隐式申明可以直接申明为游标的类型,如:myrecord TYPE%mycursor;这样确保myrecord结构与游标结构一致。
在用循环处理游标返回的数据时,也可以省略record类型变量的申明而直接使用例如:
for myrecord in mycursor loop ...end loop; 此外这种方式不需要open、fetch、与close,较为方便。
如果游标返回一条数据,则建议先申明,后使用。
myrecord TYPE%mycursor;
fetch mycursor into myrecord;
(4)close mycursor;
2,隐式游标:
如果在pl/sq程序中使用了select语句,则pl/sql会隐含处理游标定义,即隐式游标。这种游标不需要申明、打开和关闭。直接使用select into语句将结果返回给相应的变量,如果返回多条数据则使用for循环处理:
begin
  for a in (select * from t_test) loop
    dbms_output.put_line(a.t);
  end loop;
end;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22333206/viewspace-613602/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-18

  • 博文量
    9
  • 访问量
    9580