PL/SQL 包编译错误:PLS-00323

Posted

技术标签:

【中文标题】PL/SQL 包编译错误:PLS-00323【英文标题】:PL/SQL package compilation error: PLS-00323 【发布时间】:2020-09-11 07:57:10 【问题描述】:

在编译过程中出现此错误:

Oracle 错误 PLS-00323:子程序或游标“LIST_DIRECTORY”在包规范中声明,必须在包主体中定义

包装规格:

create or replace PACKAGE P_1 is
  function l_d(p_d IN VARCHAR2,
                       p_fm   IN VARCHAR2 DEFAULT NULL,
                       p_f        IN VARCHAR2 DEFAULT 'YES',
                       p_sd     IN VARCHAR2 DEFAULT 'NO') return file_array;
end;

这是包体:

create or replace PACKAGE BODY P_1 is
--
-- MODIFICATION HISTORY
--------------------------------------------------------------------------------
function l_d(p_d IN VARCHAR2,
                       p_fm   IN VARCHAR2 DEFAULT NULL,
                       p_f        IN VARCHAR2 DEFAULT 'YES',
                       p_sd     IN VARCHAR2 DEFAULT 'NO') return file_array
    PIPELINED
AS
....
--------------------------------------------------------------------------------
end;

你知道哪里错了吗?

最好的问候, 丹

【问题讨论】:

【参考方案1】:

您在函数声明中缺少pipelined

【讨论】:

以上是关于PL/SQL 包编译错误:PLS-00323的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 编译失败,没有错误消息

在 PL/SQL 中编译包时出错。错误(7,1):PLS-00103:遇到符号“CREATE”

编译时PL / Sql问题

PL/SQL重新编译包无反应案例2

PL/SQL重新编译包无反应

PL/SQL 过程编译错误