如何解决具有自定义返回值的 PL/SQL 包游标如在过程中
是否可以使用自定义返回值(来自不同表的列..)定义游标?
例如:
CREATE OR REPLACE PACKAGE pkg
IS
CURSOR emp_cur (id_in IN employees.employee_id%TYPE)
RETURN employees%rOWTYPE;
END;
/
CREATE OR REPLACE PACKAGE BODY pkg
IS
CURSOR emp_cur (id_in IN employees.employee_id%TYPE)
RETURN employees%rOWTYPE
IS
SELECT *
FROM employees
WHERE employee_id = id_in;
END;
/
这是可行的,因为员工是一个表。
在程序中我可以定义游标
CURSOR CUR_TEST .... 而后者 TYPE t_cur_test IS TABLE OF CUR_TEST %rOWTYPE INDEX BY BINARY_INTEGER; var_t_cur_test t_cur_test ;
它有效。
在包中然而与
CREATE OR REPLACE PACKAGE TEST
IS
-- Public types
CURSOR CUR_TEST
RETURN CUR_TEST%rOWTYPE;
我得到 -> 1/14 PLS-00304:无法在没有规范的情况下编译“CUR_TEST”的主体。
有没有办法做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。