oracle游标属性
游标的属性:found,not found,rowcount,isopen1.found:找到记录返回true。2.not found:没找到记录返回true。3.rowcount:返回更新的行数。4.isopen:游标是否打开,这个属性由游标的open和close更新。--通过游标的属性监控游标的状态declarecursor cu_student isse
·
游标的属性:found,not found,rowcount,isopen
1.found:找到记录返回true。
2.not found:没找到记录返回true。
3.rowcount:返回更新的行数。
4.isopen:游标是否打开,这个属性由游标的open和close更新。
--通过游标的属性监控游标的状态
declare
cursor cu_student is
select * from students;
student students%rowtype;
begin
--声明游标后
if cu_student%isopen then
dbms_output.put_line('声明游标后,isopen返回true');
else
dbms_output.put_line('声明游标后,isopen返回false');
end if;
--打开游标后
open cu_student;
if cu_student%isopen then
dbms_output.put_line('打开游标后,isopen返回true');
else
dbms_output.put_line('打开游标后,isopen返回false');
end if;
--执行fetch后
fetch cu_student into student;
dbms_output.put_line('第一次执行fetch,cu_student%rowcount='||cu_student%rowcount);
if cu_student%found then
dbms_output.put_line('打开游标后,found返回true');
else
dbms_output.put_line('打开游标后,not found返回false');
end if;
--执行循环后
loop
if cu_student%found then
dbms_output.put_line('loop: cu_student%rowcount=' || cu_student%rowcount);
fetch cu_student into student;
else
dbms_output.put_line('loop: found属性');-- || cu_student%found);
dbms_output.put_line('loop: 循环结束rowcount=' || cu_student%rowcount);
end if;
exit;
end loop;
close cu_student;
if cu_student%isopen then
dbms_output.put_line('关闭游标后,isopen(true)');-- || cu_student%isopen);
else
dbms_output.put_line('关闭游标后,isopen(false)');-- || cu_student%isopen);
end if;
end;
--结果
声明游标后,isopen返回false
打开游标后,isopen返回true
第一次执行fetch,cu_student%rowcount=1
打开游标后,found返回true
loop: cu_student%rowcount=1
关闭游标后,isopen(false)
PL/SQL procedure successfully completed
更多推荐
已为社区贡献1条内容
所有评论(0)