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 ;
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 ;