游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。
游标可分为:
1.静态游标:分为显式(explicit)游标和隐式(implicit)游标。
2.REF游标:是一种引用类型,类似于指针。
1、静态游标
1.1显式游标
定义格式:
CURSOR 游标名 ( 参数 ) IS Select 语句 FOR UPDATE [OF [schema.]table.column[,[schema.]table.column].. [nowait] |
例子1 :无参数,打开关闭游标
set serveroutput on size 10000000 ; create or replace procedure TEST is cursor c1 is select tname from tab; pname varchar2(32); begin open c1; loop fetch c1 into pname; exit when c1%notfound; dbms_output.put_line(pname); end loop; close c1; end TEST exec test; |
例子2 :参数使用,参数使用方法和存储过程一样
create or replace procedure TEST is cursor c1(pname in varchar2) is select tname from tab where tname like pname; pname varchar2(32); begin open c1('T%'); loop fetch c1 into pname; exit when c1%notfound; dbms_output.put_line(pname); end loop; close c1; end TEST; |