oracle 存储过程 stored procedure 查询记录(带包)

oracle 存储过程 stored procedure 查询记录(带包)

http://topic.csdn.net/t/20041126/22/3592748.html

--参考资料:

--

CREATE   OR   REPLACE   PACKAGE     PAG_CUR_TEST   --创建一个包

AS

  TYPE   c_TYPE   IS   REF   CURSOR;

  PROCEDURE   prc_selecttestip(p_CUR In OUT c_TYPE);    --存储过程带参数

END     PAG_CUR_TEST;

/

--存储过程

CREATE   OR   REPLACE   PACKAGE   BODY   PAG_CUR_TEST --创建一个包,创建包体

AS

 

      PROCEDURE   prc_selecttestip(p_CUR In OUT c_TYPE)

      AS

      BEGIN

            OPEN p_CUR FOR   SELECT   *   FROM   ip_test;

      END   prc_selecttestip;

END   PAG_CUR_TEST;

/

--测试

set serveroutput on    --打开服务器输出

declare   

  v_id number := 0;  

  v_row ip_test%rowtype;   --表名

  p_cur PAG_CUR_TEST.c_TYPE;    --包及Cursor的参数

begin   

  PAG_CUR_TEST.prc_selecttestip(p_cur);   --调用带包的存储过程

  loop  

    fetch p_cur into v_row;  

    exit when p_cur%notfound;  

    DBMS_OUTPUT.PUT_LINE(v_row.ID||'->'||v_row.Name);  

  end loop;  

  close p_cur;

end; 

/

你可能感兴趣的:(oracle 存储过程 stored procedure 查询记录(带包))