oracle的存储过程是不能返回记录集的。

解决方案 »

  1.   

    --参考
    CREATE OR REPLACE PACKAGE  PAG_CUR_TEST
    AS
     TYPE c_TYPE IS REF CURSOR;
     PROCEDURE P_CUR_TEST(p_CUR IN OUT c_TYPE);
    END  PAG_CUR_TEST;
    /
    CREATE OR REPLACE PACKAGE BODY PAG_CUR_TEST
    AS   PROCEDURE P_CUR_TEST(p_CUR IN OUT c_TYPE)
       AS
       BEGIN
            OPEN c_TYPE FOR SELECT * FROM TABLE_NAME;
       END P_CUR_TEST;
    END PAG_CUR_TEST;
    /
      

  2.   

    创建包
    CREATE OR REPLACE PACKAGE pack_test
    AS
       TYPE mycur IS REF CURSOR;
    END pack_test;创建存储
    CREATE OR REPLACE PROCEDURE p_test
    (
       p_rc OUT pack_test.mycur
    ) ISBEGIN
         OPEN p_rc FOR
              SELECT  *
                  FROM c_well;END p_test;
      

  3.   

    创建包
    CREATE OR REPLACE PACKAGE pack_test
    AS
       TYPE mycur IS REF CURSOR;
    END pack_test;创建存储
    CREATE OR REPLACE PROCEDURE p_test
    (
       p_rc OUT pack_test.mycur
    ) ISBEGIN
         OPEN p_rc FOR
              SELECT  *
                  FROM c_well;END p_test;
      

  4.   

    to liuyi8903(西西) 
           OPEN p_rc FOR
              SELECT  *
                  FROM c_well;
    中~~游标p_rc里面的记录~我可以在付给一个记录集么?
      

  5.   

    to liuyi8903(西西)
    我按你的程序做后怎么总是说我
    p_rc OUT pack_test.mycur
    这名话错误啊,编译都不通过啊