+ -
当前位置:首页 → 问答吧 → 循环的退出条件

循环的退出条件

时间:2011-11-02

来源:互联网

SQL code

 declare
   cursor tab_cur is
     select * from tab;

   type row_type is table of integer;
   row_tab row_type;
 loop
   fetch tab_cur
     bulk collect into row_tab limit 2;

   exit when row_tab.count=0;
   
   for i in row_tab.first..row_tab.last
   loop
     null;
   end loop;

 end loop;



想问下,外部循环条件,为什么可以用row_tab.count=0作为判别条件?因为分批次取数据,row_tab肯定存有之前取的数据,用row_tab.count=0作为判别条件感觉会进入死循环,但是结果反而是可以作为判别.

作者: fish528   发布时间: 2011-11-02

SQL code
fetch tab_cur 
bulk collect into row_tab limit 2;


每fetch一次,tab_cur记录少两条。

作者: hudingchen   发布时间: 2011-11-02

SQL code
fetch tab_cur
     bulk collect into row_tab limit 2;

每次读取数据时会清空row_tab,所以游标tab_cur读到最后没有数据时tab_cur中自然也没有数据了

作者: tx2730   发布时间: 2011-11-02