0

我在函数中将光标作为输入参数传递。

  Function (p_cur IN curType) ...

  Loop (outer loop)

      Loop (inner loop)

      fetch p_cur into p_cur_rec;
      exit when p_cur%notfound;

        do some processing here...

      end loop;

   END Loop;

内部循环获取所有游标记录,我能够通过每次迭代来处理数据。

但是,当外部循环获取第二条记录时,内部循环似乎不再从游标中获取。游标记录似乎已被提取,无法再次使用。

我的问题是你如何克服这个问题,以便可以再次获取光标?

4

1 回答 1

0

您可以使用光标来执行您的内部循环,如下所示:

cursor c_1  as 
   select ...
     from ..
    where ...

rec  c_1%rowtype;

begin 

for rec in c_1 loop 
 ...
end loop;
end;
于 2013-08-14T15:11:06.187 回答