oracle 几种游标循环的区别

declare
 cursor vs is select * from ts;
 c vs%rowtype;
begin


----使用while来做游标循环的时候一定要注意,如果使用%found在while条件中一定要记得在此之前
---先fetch 第一条数据到变量,所以以下会出现两个fetch
open vs;
fetch vs into c;
while vs%found loop
fetch vs into c;
 DBMS_OUTPUT.PUT_LINE(c.NAME);
end loop;
close vs;

---这样子只用一次fetch
open vs;
 while 1=1
 loop 
  fetch vs into c;
  DBMS_OUTPUT.PUT_LINE(c.NAME);
 exit when vs%notfound;
 end loop;
 close vs;
 
 ---不用打开和关闭游标
 for i in vs loop
 DBMS_OUTPUT.PUT_LINE(i.NAME);
 end loop;

end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值