求在PL/SQL下执行ORACLE带参数的返回结果集的存储过程实例
求ORACLE实现存储过程数据集输出的思路

解决方案 »

  1.   

    有什么可求的,不算异常处理就一行字。create or replace procedure pro_cursor
           (p_mainsql in varchar2,p_cur out sys_refcursor) as
    begin
       open p_cur for p_mainsql;
    exception
       when others then
       open p_cur for select '请与系统管理员联系' dummy from dual;
    end;
      

  2.   

    这个地方我也一直困惑,open p_cur for 返回结果集,然后不用Close 游标?但是关闭了又访问不到数据。
      

  3.   


    在你的调用程序里关。比如Java接到的是个结果集,直接rs.close();
      

  4.   

    在SQL/PLUS中调用存储过程,显示结果: 
    SQL> set   serveoutput   on 
    SQL> var   info1   number;     --输出1 
    SQL> var   info2   number;     --输出2 
    SQL> declare 
            var1   varchar2(20);       --输入1 
            var2   varchar2(20);     --输入2 
            var3   varchar2(20);       --输入2 
            BEGIN 
                pro(var1,var2,var3,:info1,:info2); 
            END; 
            / 
    SQL> print   info1; 
    SQL> print   info2;