存储过程能不能返回两张表?SQLSERVER里只要两个SELECT就可以返回一个含两张表的DATASET,不知道ORACLE里可不可以这样?

解决方案 »

  1.   

    用游标实现。2个out参数就可以了。
      

  2.   

    我用了两个IN OUT游标 ,用TOAD测试:PLS-00306: 调用 'REPORT_FEE_TRAFFIC' 时参数个数或类型错误
      

  3.   

    --这个是存储过程,以scott登录
    create or replace p_test(p_1 out sys_refcursor, p_2 out sys_refcursor)
    is
    begin
       open p_1 for select * from emp;
       open p_2 for select * from emp;
    end;--在sqlplus下执行的
    sql> var x1 refcursor;
    sql> var x2 refcursor;
    sql> begin p_test(:x1, :x2); end;
    sql> print :x1;
    sql> print :x2;