码迷,mamicode.com
首页 > 数据库 > 详细

Oracle存储过程调用存储过程

时间:2014-05-26 13:16:10      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:c   a   int   set   os   line   

今天突然突发奇想让一个存储过程调用另外一个存储过程返回的游标,一个自己写的demo

内存储过程(v_id为传入的参数,result_cursor为传出的存储过程,放在cursor_package中)

create or replace procedure proc_innercursor(v_id in varchar, result_cursor out cursor_package.type_cursor) is
v_name varchar2(10);
begin
open result_cursor for select t.name from sys_resource t where t.id=v_id;
end proc_innercursor;

定义包

create or replace package cursor_package as
type type_cursor is ref cursor;
end;

外部调用的存储过程

create or replace procedure proc_testcursor (v_id in varchar2) is
result_cursor cursor_package.type_cursor;
type c_resor is record(
v_pid sys_resource.name%type  自定type
);
v_pidid c_resor;
begin
proc_tesetcursor(v_id,result_cursor);
loop
fetch result_cursor into v_pidid;
exit when result_cursor%notfound;
dbms_output.put_line(v_pidid.v_pid);
end loop;
close result_cursor;
end proc_testcursor;

Oracle存储过程调用存储过程,布布扣,bubuko.com

Oracle存储过程调用存储过程

标签:c   a   int   set   os   line   

原文地址:http://www.cnblogs.com/miceal/p/3746596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!