`
xiaoboss
  • 浏览: 641920 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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;
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics