比如:
CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS

 CURSOR cur1 IS SELECT       --第一个游标
BEGIN
   OPEN cur1 ;                                                                
       LOOP
         FETCH cur1 INTO 
         EXIT WHEN cur1%NOTFOUND; 
         ...业务逻辑
         COMMIT;       END LOOP;
   CLOSE cur1;   EXCEPTION
     WHEN OTHERS THEN
       -- Consider logging the error and then re-raise
       ROLLBACK;
       RAISE;  CURSOR cur2 IS SELECT       --第二个游标
BEGIN
   OPEN cur2 ;                                                                
       LOOP
         FETCH cur2 INTO 
         EXIT WHEN cur2%NOTFOUND; 
         ...业务逻辑
         COMMIT;       END LOOP;
   CLOSE cur2;   EXCEPTION
     WHEN OTHERS THEN
       -- Consider logging the error and then re-raise
       ROLLBACK;
       RAISE;
END DBP_REALCITYTRAFFICCNT;
/

解决方案 »

  1.   


    把第二个CURSOR cur2 IS SELECT  --第二个游标
    BEGIN
    跟第一个一起放在申明的位置
    CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS

     CURSOR cur1 IS SELECT  ;
    CURSOR cur2 IS SELECT  ;
    在去掉第二个begin
      

  2.   


    create or replace procedure pro_xx(in_date in date) as
    type TCursor is ref cursor;
    c1 TCursor;
    c2 TCursor;
      

  3.   

    正确写法: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;