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;

 

 

posted @ 2008-08-26 19:39  卒子  阅读(8103)  评论(0编辑  收藏  举报