欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-17 15:40:06
1、直接定义多个显示游标 CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS CURSOR cur1 IS SELECT 。。。 --第一个游标 CURSOR cur2 IS SELECT 。。。 --第二个游标 BEGIN --调用c ......

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;