--返回结果集类型
CREATE OR REPLACE PACKAGE PKG IS
TYPE T_CURSOR IS REF CURSOR;
END;
/
--存储过程
CREATE OR REPLACE PROCEDURE TEST(
IN_TBLNM IN VARCHAR2,
OUT_CURSOR OUT PKG.T_CURSOR
) IS
BEGIN
IF IN_TBLNM = 'test' THEN
OPEN OUT_CURSOR FOR
SELECT *
FROM test;
END
/
--测试返回值
DECLARE
CUR1 PKG.T_CURSOR;
I E10M0010%ROWTYPE;
BEGIN
TEST('test',CUR1);
LOOP
FETCH CUR1
INTO I;
EXIT WHEN CUR1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('----------------:' || I.id);输出返回值PL/SQL工具中可以显示。
END LOOP;
CLOSE CUR1;
END;
/