欢迎光临散文网 会员登陆 & 注册

Oracle游标

2023-03-13 14:29 作者:阿彦绝地反击  | 我要投稿

一、游标

游标是指向查询结果的一行记录,初次打开时指向第1行的前面。

第1步 .先声明:

declare

cursor 自定义游标名称 is 查询语句;

第2步.在打开游标

open 自定义游标名称;

第3步.☆然后,访问查询结果中的一行记录,获取这行记录

fetch 自定有表名称 into 变量;

第4步.☆☆☆☆☆最后,关闭

close 自定义游标名称;


1.练习利用游标访问dept当中的一行数据

declare

cursor c_dept is select * from dept;

v_obj dept%rowtype;

begin

open c_dept;

fetch c_dept into v_obj;

dbms_output.put_line(v_obj.deptNo||' # '||v_obj.dname||' # '||v_obj.loc); 

close c_dept;

end;


2.利用for循环通过游标访问dept中的每一行记录: for循环用In访问游标时,游标不用手动开启与关闭。in自动开启游标用后自动关闭

declare

cursor c_dept is select * from dept;

v_obj dept%rowtype;

begin

for v_obj in c_dept loop

dbms_output.put_line(v_obj.deptNo||' # '||v_obj.dname||' # '||v_obj.loc);

end loop; 

if c_dept%isopen then

close c_dept;

dbms_output.put_line('手动关闭游标');

end if;

end;

/


3.游标的其他属性

游标名%found 获取游标提取到数据了吗?有则返回true,没有返回false

游标名%isopen   获取游标打开状态,如果打开返回true,没打开返回false


Oracle游标的评论 (共 条)

分享到微博请遵守国家法律