1、直接定义多个显示游标
1 CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS 2 CURSOR cur1 IS SELECT 。。。 --第一个游标 3 4 CURSOR cur2 IS SELECT 。。。 --第二个游标 5 6 BEGIN 7 8 9 --调用cur1 10 BEGIN 11 OPEN cur1 ; 12 LOOP 13 FETCH cur1 INTO 。。。 14 EXIT WHEN cur1%NOTFOUND; 15 ...业务逻辑 16 COMMIT; 17 18 END LOOP; 19 CLOSE cur1; 20 21 END; 22 23 --调用cur2 24 BEGIN 25 OPEN cur2 ; 26 LOOP 27 FETCH cur2 INTO 。。。 28 EXIT WHEN cur2%NOTFOUND; 29 ...业务逻辑 30 COMMIT; 31 32 END LOOP; 33 CLOSE cur2; 34 35 end; 36 END DBP_REALCITYTRAFFICCNT;
2、通过定义ref游标来实现
1 TYPE refcur_t IS REF CURSOR; --声明REF游标类型 2 3 cur1 refcur_t; --声明第一个游标REF游标类型的变量 4 5 cur2 refcur_t; --声明第二个游标REF游标类型的变量 6 7 BEGIN 8 9 10 --调用cur1 11 BEGIN 12 OPEN cur1 ; 13 LOOP 14 FETCH cur1 INTO 。。。 15 EXIT WHEN cur1%NOTFOUND; 16 ...业务逻辑 17 COMMIT; 18 19 END LOOP; 20 CLOSE cur1; 21 22 END; 23 24 --调用cur2 25 BEGIN 26 OPEN cur2 ; 27 LOOP 28 FETCH cur2 INTO 。。。 29 EXIT WHEN cur2%NOTFOUND; 30 ...业务逻辑 31 COMMIT; 32 33 END LOOP; 34 CLOSE cur2; 35 36 end; 37 END DBP_REALCITYTRAFFICCNT;