根据我知道的,只能返回一个游标
CREATE OR REPLACE PACKAGE pkg_test
AS
   TYPE myrctype IS REF CURSOR;
END pkg_test;
/
CREATE PROCEDURE sp_fauleinfo(pAgentID in varchar2,p_rc out pkg_test.myrctype)
AS
begin
open p_rc for 'Select Agent_id,Agent_name from failinfo where AgentID='||pAgentID;
end;

解决方案 »

  1.   

    可以返回多个游标借用一下上面兄弟的例子,改后如下:CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;
    END pkg_test;
    /
    CREATE PROCEDURE sp_fauleinfo(pAgentID in varchar2,p_rc1 out myrctype,p_rc2 out myrctype)
    AS
    begin
    open p_rc1 for 你的select语句1;
    open p_rc2 for 你的select语句2;
    end;返回的数据集按你在过程中定义游标的顺序排列
    .net中假如用DataSet ds接收,
    ds[0] 第一个游标返回的结果
    ds[1] 第二个游标返回的结果
      

  2.   

    忘了加 package body定义create or replace package body pkg_test is……你自己加上
      

  3.   

    可以返回多个游标呀,
    同意W3KMASTER的说法,
    我前天刚做了个这方面的练习,
    既然已经有人给例子了,我就不给你贴出来了
    因为那个练习的资料我没带在身上,
    我不是在自己电脑上上网的,望见谅