无法调用包中包含的pl sql函数

时间:2016-02-04 04:24:56

标签: plsql

我的代码如下:

CREATE OR REPLACE PACKAGE BODY schema_name.abc AS

FUNCTION f1
RETURN CLOB AS
    BEGIN
       <some task>
    END;

PROCEDURE p1
    BEGIN
        f1(<param>);
    END;
END abc;

我们致电abc.p1(<parameter>)时此套餐运行正常 现在,当我尝试在匿名块中运行包的功能时

DECLARE
temp_clb CLOB;

BEGIN
   temp_clb := <schema_name>.abc.f1(<parameter>);
END;

它给了我

PLS-00302: component 'f1'must be declared 

1 个答案:

答案 0 :(得分:2)

您需要在Package SPEC中声明您的功能。像这样:

CREATE OR REPLACE PACKAGE schema_name.abc AS
   FUNCTION f1
   RETURN CLOB;