读书人

求教oracle游标使用中的一个有关问题

发布时间: 2013-08-01 15:23:18 作者: rapoo

求教oracle游标使用中的一个问题

declare
定义游标
begin
打开游标

loop
用fetch提取数据
exit when cur_rateselect%notfound;

dosomething other...1;

----------------
if (条件) then
希望在此跳转到other...2结束(也就是进入游标的下一条记录操作,功能类似c中循环的continue作用)
end if;
----------------

dosomething other...2;

end loop;
end
请问我该如何实现上述的希望?以前没有写过,现在赶鸭子上架,我在一边写一边学。。。在线等
PS(我用next直接给我报错了,请教标签是不是可以呢,可以化,写个小例子给我参考下最好- -) Oracle
[解决办法]

引用:

declare
定义游标
begin
打开游标

loop
用fetch提取数据
exit when cur_rateselect%notfound;

dosomething other...1;

----------------
if (条件) then
希望在此跳转到other...2结束(也就是进入游标的下一条记录操作,功能类似c中循环的continue作用)
end if;
----------------

dosomething other...2;

end loop;
end
请问我该如何实现上述的希望?以前没有写过,现在赶鸭子上架,我在一边写一边学。。。在线等
PS(我用next直接给我报错了,请教标签是不是可以呢,可以化,写个小例子给我参考下最好- -)




DECLARE
CURSOR CUR_FOO IS SELECT LEVEL L FROM DUAL CONNECT BY LEVEL<=10;
REC_FOO CUR_FOO%ROWTYPE;
BEGIN
OPEN CUR_FOO;
LOOP
FETCH CUR_FOO INTO REC_FOO;
EXIT WHEN CUR_FOO%NOTFOUND;
IF REC_FOO.L=9 THEN
GOTO LEBEL;


END IF;
DBMS_OUTPUT.PUT_LINE('==>'
[解决办法]
REC_FOO.L);
<<LEBEL>>
DBMS_OUTPUT.PUT(' ');
END LOOP;
CLOSE CUR_FOO;
END;



==>1
==>2
==>3
==>4
==>5
==>6
==>7
==>8
==>10

读书人网 >oracle

热点推荐