我的代码如下:
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
答案 0 :(得分:2)
您需要在Package SPEC中声明您的功能。像这样:
CREATE OR REPLACE PACKAGE schema_name.abc AS
FUNCTION f1
RETURN CLOB;