读书人

oracle 存储过程 游标关闭疑问解决方案

发布时间: 2013-03-26 21:09:10 作者: rapoo

oracle 存储过程 游标关闭疑问
现在是这样写的:

SQL code
for rec_a_cur in a_cur loopend loop;close a_cur;

但是走到close a_cur的时候会抛出异常。
我把这close a_cur去掉就没有问题了。
难道不需要手动关闭游标?
我想问的是在oracle 存储过程中,什么情况下需要手动关闭游标?或者就不需要手动来关闭?
或者??? 求详细

[解决办法]
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html
[解决办法]
不用单独close a_cur
因为光标for循环会自动关闭光标。
[解决办法]
两种游标使用方式
1.使用for循环的是隐式打开和关闭,不用写代码控制.for循环开始时打开,循环结束时自动关闭
for rec_a_cur in a_cur loop
--逻辑处理
end loop;
2.显式打开和关闭,写代码控制游标开关和循环
open a_cur;
loop
fetch into...
exit when ...
--逻辑处理
end loop;
close a_cur;
[解决办法]
for rec_a_cur in a_cur loop

end loop;

这种不需要close,loop完会自动close

读书人网 >oracle

热点推荐