存储过程定义多个游标多个begin

1、直接定义多个显示游标 
create or replace procedure acc.dbp_realcitytrafficcnt is 
cursor cur1 is select 。。。 –第一个游标 

cursor cur2 is select 。。。 –第二个游标 

begin 

–调用cur1 
begin 
open cur1 ;   
  loop 
  fetch cur1 into 。。。 
  exit when cur1%notfound;   
  …业务逻辑 
  commit; 

  end loop; 
  close cur1; 

end; 

–调用cur2 
begin 
  open cur2 ;   
  loop 
  fetch cur2 into 。。。 
  exit when cur2%notfound;   
  …业务逻辑 
  commit; 

  end loop; 
  close cur2; 

end; 
end dbp_realcitytrafficcnt; 

————————– 
2、通过定义ref游标来实现 
type refcur_t is ref cursor; –声明ref游标类型 

cur1 refcur_t; –声明第一个游标ref游标类型的变量 

cur2 refcur_t; –声明第二个游标ref游标类型的变量 

begin 

–调用cur1 
begin 
open cur1 ;   
  loop 
  fetch cur1 into 。。。 
  exit when cur1%notfound;   
  …业务逻辑 
  commit; 

  end loop; 
  close cur1; 

end; 

–调用cur2 
begin 
  open cur2 ;   
  loop 
  fetch cur2 into 。。。 
  exit when cur2%notfound;   
  …业务逻辑 
  commit; 

  end loop; 
  close cur2; 

end; 
end dbp_realcitytrafficcnt;

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐