在oracle存储过程返回数据集
    返回数据集请参考如下存储过程实例:
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;     
其中p_rc即为返回的结果集,这里使用了ref cursor。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html