定义了一个存储过程
  procedure GetDate(
    aParam  in varchar2,
    aExesql in out varchar2,
    aReturnSet out sys_refcursor      
  ) is
  begin
    select sysdate into aExesql from dual;
    open aReturnSet for 'select sysdate today from dual';
  end;
测试的时候
set serveroutput on;
declare
  tcursor sys_refcursor;
  vSql varchar2(32700);
  begin 
    vSql := 'aa';
    execute immediate 'call testpack.GetDate(''aaa'', :V1, :V2)' using in out vSql, out tcursor;
    dbms_output.put_line(vSql);                
  end;
/
返回错误,未连接Oracle

解决方案 »

  1.   

    是不是using out的参数不支持游标类型.
      

  2.   

    execute immediate 'call testpack.GetDate(''aaa'', :V1, :V2)' using in out vSql, out tcursor;动态调用错误,好像你诱发了一个帖子
      execute immediate 'begin testpack.GetDate(''aaa'', :V1, :V2);end;' using in out vSql, out tcursor;
      

  3.   

    试试
    execute immediate 'call testpack.GetDate('''aaa''', :V1, :V2)' using in out vSql, out 就是2个'的地方用3个'代替看看