/*创建过程和函数
*/
CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR;
PROCEDURE get (p_rc OUT myrctype);
FUNCTION f_get return myrctype; END pkg_test;
CREATE OR REPLACE PACKAGE BODY pkg_test AS
PROCEDURE get ( p_rc OUT myrctype) IS
BEGIN
OPEN p_rc FOR SELECT * FROM t1;
END get;
FUNCTION f_get return myrctype is
rc myrctype;
BEGIN
OPEN rc FOR SELECT * FROM t1;
return rc;
END f_get;
end pkg_test;
/*尝试在sql plus中如何使用*/
--过程
variable c refcursor
exec pkg_test.get(:c)
print c;
--函数
variable c refcursor
exec :c :=pkg_test.g_get
print c;