从Procedure返回TABLE类型

时间:2014-04-03 19:05:58

标签: oracle oracle11g bulk-collect

我正在测试此代码以从过程返回TABLE类型,但是我收到一个错误,我认为这不应该发生,因为我正在采用整个employees表行的表类型。

CREATE OR REPLACE PACKAGE test_pkg
IS

  TYPE my_rec IS TABLE OF employees%ROWTYPE;

  PROCEDURE my_proc(p_out OUT my_rec);

END;
/

CREATE OR REPLACE PACKAGE BODY test_pkg
AS

  PROCEDURE my_proc(p_out OUT my_rec) AS BEGIN

      SELECT
        employee_id,
        first_name,
        last_name BULK COLLECT INTO p_out
      FROM employees;
    END;

END;
/
  

6/65 PL / SQL:ORA-00913:值太多6/1
  PL / SQL:忽略SQL语句

使用TABLE类型而不是REF CURSOR从过程返回值的优点和缺点是什么?

0 个答案:

没有答案