【发布时间】:2011-12-27 20:31:05
【问题描述】:
我有一个名为 DEF 的 Oracle 包,其中有一个名为 ABC 的函数,它接受 1 个字符串参数。 请问如何在TOAD Editor中直接调用这个函数ABC?
提前致谢。
CREATE OR REPLACE PACKAGE HPQ_IF.def AS
FUNCTION def(p_sql IN VARCHAR2)
RETURN VARCHAR2;
END def;
/
FUNCTION abc(p_sql IN VARCHAR2)
RETURN VARCHAR2
IS
j NUMBER;
BEGIN
dbms_output.put_line(p_sql);
RETURN 'Done';
END abc;
最后一个错误(使用下面的第一个答案):
[Error] Execution (6: 31): ORA-06550: line 6, column 31:
PLS-00302: component 'abc' must be declared
ORA-06550: line 6, column 3:
PL/SQL: Statement ignored
【问题讨论】:
-
您似乎更改了函数和包名称。但我怀疑你犯了一个错误。该函数应该被称为abc,不仅在主体中,而且在声明中也是如此。请张贴完整打包的标题和完整的包正文。如果您更改名称,则首先修复所有错误,以便标头和正文都成功编译。
标签: oracle function plsql package