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;
/