都可以实现CREATE OR REPLACE PACKAGE pkg_test
AS
   TYPE myrctype IS REF CURSOR;   PROCEDURE get (p_rc OUT myrctype);
END pkg_test;
/CREATE OR REPLACE PACKAGE BODY pkg_test
AS
   PROCEDURE get ( p_rc OUT myrctype)
   IS
   BEGIN
         OPEN p_rc FOR
            SELECT ID, NAME, sex, address, postcode, birthday
              FROM student;
   END get;
END pkg_test;
/

解决方案 »

  1.   

    declare
    v_rc pkg_test.myrctype;
    v_row student%rowtype;
    begin
    pkg_test.get(v_rc);
    loop
    fetch v_rc into v_row;
    exit when v_rc%notfound;
    dbms_output.put_line(v_row.col1||...);
    end loop;
    end;
    /
    具体开发语言是那种!
      

  2.   

    .net还没试过
    asp以下例子:
    <!--#include file="Connections/conn.asp" -->
    <% 
    set cm1 = Server.CreateObject("ADODB.Command")
    cm1.ActiveConnection = MM_conn_STRING
    cm1.CommandType = 1
    cm1.CommandTimeout = 0
    cm1.Prepared = true
    cm1.CommandText = "{call pkg_test.get(?)}"--调用包的存储过程
    set para = cm1.Parameters
    para.Append cm1.CreateParameter("p_id",3,1,,1)

    set rs = Server.CreateObject("ADODB.Recordset")set rs=cm1.Execute  
    %>