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 *
               FROM tk_ticket;
       ELSE
          sqlstr :=
             'select *
            from tk_ticket where ticketcode=:w_id';
          OPEN p_rc FOR sqlstr USING p_id;
       END IF;
    END get;
END pkg_test;

posted @ 2014-12-05 17:03  awp110  阅读(172)  评论(0编辑  收藏  举报