可以使用ref cursor.以前有很多相关的问题了.你搜一下吧.

解决方案 »

  1.   

    DELPHI 调用 Oracle 存储过程并返回数据集的例子. 
    http://blog.csdn.net/chanet/archive/2005/01/19/259409.aspxvb 调用 Oracle 函数返回数据集的例子 
    http://blog.csdn.net/chanet/archive/2005/01/19/259391.aspx
      

  2.   

    CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;   PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
    END pkg_test;
    /CREATE OR REPLACE PACKAGE BODY pkg_test
    AS
       PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
       IS
          sqlstr   VARCHAR2 (500);
       BEGIN
          IF p_id = 0 THEN
             OPEN p_rc FOR
                SELECT ID, NAME, sex, address, postcode, birthday
                  FROM student;
          ELSE
             sqlstr :=
                'select id,name,sex,address,postcode,birthday
               from student where id=:w_id';
             OPEN p_rc FOR sqlstr USING p_id;
          END IF;
       END get;
    END pkg_test;
      

  3.   

    oracle返回数据集真麻烦.
    大家不要砸我.
      

  4.   

    1.定义一个输出变量
    rcResult    out PK_Var.RC2.打开这个记录集
    OPEN rcResult FOR sSQL;