码迷,mamicode.com
首页 > 数据库 > 详细

plsql游标最后一行重复的问题

时间:2014-09-20 10:03:47      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:style   color   io   os   div   sp   问题   on   c   

大家仔细看一下,下面第一个存储过程,test01,有没问题?
看似没问题,其实会造成重复行,test02将exit when的语句放到合适的位置上来。就不会出现最后一行重复打印的问题。


create or replace procedure test01 as
  cursor cursor1 is
    select * from v$session where rownum <= 5;
  record1 cursor1%rowtype;
begin
  DBMS_OUTPUT.ENABLE(buffer_size => null);
  open cursor1;
  loop
    fetch cursor1 into record1;
    dbms_output.put_line(record1.sid);
    exit when cursor1%notfound;
  end loop;
  close cursor1;
end;

-----------------------------------------------------------------------
create or replace procedure test02 as
  cursor cursor1 is
    select * from v$session where rownum <= 5;
  record1 cursor1%rowtype;
begin
  DBMS_OUTPUT.ENABLE(buffer_size => null);
  open cursor1;
  loop
    fetch cursor1 into record1;
    exit when cursor1%notfound;
    dbms_output.put_line(record1.sid);
  end loop;
  close cursor1;
end;



plsql游标最后一行重复的问题

标签:style   color   io   os   div   sp   问题   on   c   

原文地址:http://blog.csdn.net/whiteoldbig/article/details/39429549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!