日期:2014-05-17  浏览次数:20636 次

oracle游标问题
表,如下列
col1,col2,col3
如何定义一个游标,遍历所有列数据,把遍历得到的col1,col2,col3传递给存储过程参数
谢谢

------解决方案--------------------
declare
  cursor allcursor is
    select col1, col2, col3 from mw_app.mwt_userinfo;
begin
  for onecursor in allcursor loop
    exit when allcursor%notfound;
    mw_app.mwp_name(onecursor.col1, onecursor.col2, onecursor.col3);
  end loop;
end;
------解决方案--------------------
是这样吗

declare
cursor cur is select c1,c2,c3 from s
begin
  for r in cur loop
    proc_2(cur.c1,cur.c2,cur.c3); --将游标值传入另一个存储过程
    end loop;
end ;

------解决方案--------------------
--有点问题
--另外,这种写法,不需要再去关闭游标了。oracle会自动关闭。
declare
cursor cur is select c1,c2,c3 from s
begin
  for r in cur loop
    proc_2(r.c1,r.c2,r.c3); --将游标值传入另一个存储过程
    end loop;
end ;