Oracle存储过程调用存储过程

Oracle存储过程调用有返回结果集的存储过程一般用游标的方式,声明一个游标,把结果集放到游标里面,然后循环游标

 

DECLARE
 NEWCS          SYS_REFCURSOR;
 CS1       NUMBER;
 CS2       NUMBER;
 CSTYPE    TABLE%ROWTYPE;---table列的个数和NEWCS返回的个数一样
 
 BEGIN
   procedure(参数1,参数2,NEWCS);
   LOOP
   FETCH NEWCS INTO CS1,CS2; ---此处根据返回结果个数而定
   FETCH NEWCS INTO CSTYPE; ---CSTYPE和 NEWCS一一对应
    EXIT WHEN NEWCS%NOTFOUND;

   ---放置要处理的方法 INSERT,UPDATE
   ---如果有CSTYPE取游标的值,取值方法  CSTYPE.Column_Name

   END LOOP;
 CLOSE NEWCS;

 END;
 

 

你可能感兴趣的:(oracle)