(高分在线)用动态sql执行返回游标变量的存储过程问题
例:
procedure pro1(p_in number, p_rslt out sys_refcursor) is
begin
open p_rslt for select * from tb1 where col1=p_in;
end;
--下面是调用过程
procedure pro2( p_rslt out sys_refcursor) is
begin
--这种方法可以
pro1(100,p_rslt);
--下面就不行
execute immediate 'begin pro1(:1,:2); end; ' using 100,out p_rslt;
end;
请问要如何才能通过execute immediate执行返回结果集的存储过程?
------解决方案--------------------以前我也试过。
动态绑定sys_refcursor这种复杂类型的好像就是不行。
后来没有仔细研究。
理论上应该可以的。
可以试一下使用Oracle动态执行的包,绑定这个类型。
只是一个思路。
关注
------解决方案--------------------看看这个
http://vadimtropashko.wordpress.com/cursors/