两个过程A,B,A过程中有这样一段 OPEN get_code;
   LOOP
      FETCH get_code
       INTO CODE_,DESCRIPTION_ ;      EXIT WHEN get_code%NOTFOUND;
      B(CODE_,Company_id_,account);
   END LOOP;
我想在B过程执行完一次后,再回到A过程重新执行这一段程序,但是游标要自动向下走,直到完成推出,我在B过程中应该如何写才可以返回A过程,并且是A过程的游标继续向下走,请高手指点,谢谢。

解决方案 »

  1.   

    可以再定义个变量比如:declare
    i int:=0;
    begin
    OPEN get_code;
       LOOP
          FETCH get_code
           INTO CODE_,DESCRIPTION_ ;
            
          EXIT WHEN get_code%NOTFOUND;
          i:=i+1;
          if i= then...      B(CODE_,Company_id_,account);
       END LOOP;
    end;
    OPEN get_code;
       LOOP
          FETCH get_code
           INTO CODE_,DESCRIPTION_ ;
            
          EXIT WHEN get_code%NOTFOUND;
          i:=i+1;
          if get_code%rowcount=xx then
    ..      B(CODE_,Company_id_,account);
       END LOOP;
      

  2.   

    OPEN get_code;
       LOOP
          FETCH get_code
           INTO CODE_,DESCRIPTION_ ;      EXIT WHEN get_code%NOTFOUND;
          B(CODE_,Company_id_,account);
       END LOOP;
    在请教一个比较弱智的问题,如果get_code中有三条数据,上面的循环可以让B(CODE_,Company_id_,account);这条语句运行三次吗?也就是每条数据执行一次,(注意:B在这里是一个过程,codee_作为执行这个过程的一个条件),如果不行应该如何修改这段循环,谢谢。