如何多次获取游标变量

时间:2013-08-14 14:41:43

标签: oracle plsql cursor plsqldeveloper

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

  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;

内部循环获取所有光标记录,我能够完成每次迭代以处理数据。

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用光标像这样执行内部循环:

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

rec  c_1%rowtype;

begin 

for rec in c_1 loop 
 ...
end loop;
end;