小弟我写了一个存储过程,先要将一些数据批量插入到一张表里,然后用游标去表里一个一个的数据去操作。
但现在遇到个问题:
我将游标定在create or replace procedure( )is后面,将插入语句写在begin和end procedure里面,运行会出现死循环。
将游标定义在begin和end procedure里,同时在insert into 语句后面,但运行会报错。
不知道该怎么解决,是不是要先close游标,在需要使用的时候open游标呢?
请高手指教下!

解决方案 »

  1.   

    给你个例子
    create or replace procedure ss ()is
      v_yhbh varchar2(10);
      v_yhmc varchar2(60);
      i number:=1;
      cursor bh_list is select distinct yhbh,yhmc from dbuser_manager order by yhmc ;
    begin  open bh_list;
      fetch bh_list into v_yhbh,v_yhmc;
      while bh_list %found loop
         --你的操作写这
         fetch bh_list into v_yhbh,v_yhmc;
       end loop;
      close bh_list;
    end;