具有自定义返回值的 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...