首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2013-08-01 
求教oracle游标使用中的一个问题如declare定义游标begin打开游标loop用fetch提取数据exit when cur_ratese

求教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

热点排行