oracle游标取数据是否显示打开游标
create or replace procedure test_cursor_proce
is
cursor test_cursor is select * from test_table;
test_record test_table%rowtype;
begin
--1.loop... fetch 游标必须手动显示open
loop
fetch test_cursor into test_record ;
dbms_output.put_line(test_record.id || test_record.name);--运行时报错
end loop;
end;
--2.for ... in 游标可以不用手动显示open
for test_cu in test_cursor loop
dbms_output.put_line(test_cu.id || test_cu.name);--运行时正常取数
end loop;
if test_cursor%isopen then
dbms_output.put_line('游标已打开。。。');
else
dbms_output.put_line('游标未打开。。。');
end if;
--输出结果为“游标未打开”
求大神对上述两种取数稍作解释。。尤其是for形式的取数,不太明了其原理,test_cu 是什么。。游标?但test_cu%notfound 报错。。。
...全文
相关推荐
Oracle存储过程游标详解
获取记录时移动游标取一条记录,关闭游标时将游标放入缓冲池中,没有完全释放资源。在使用显示游标时,可以使用 For 循环游标或 While 循环游标来遍历结果集。
Oracle显示游标的使用及游标for循环
本文主要介绍了Oracle数据库中游标的使用,特别是显示游标和游标for循环的应用场景及其操作方法。在Oracle SQL中,游标是一种处理多行查询结果的机制,分为隐式游标和显式游标。隐式游标通
Oracle出现超出打开游标最大数的解决方法
在编写Oracle数据库应用程序时,理解并正确管理游标是至关重要的。
oracle超出打开游标的最大数的原因和解决方案
在Oracle数据库中,遇到"ORA-01000: maximum open cursors exceeded"错误是常见的问题,它表明当前会话已经达到了系统允许的最大并发打开游标数量。这个错误通常发
Oracle 游标使用总结
"Oracle 游标使用总结"Oracle数据库中的游标是处理单条查询结果集的有效工具,它允许程序员逐行处理查询结果,分为显示游标和隐式游标两种类型。显示游标(Explicit Cursor)


