你好。
我有2个功能:
一个在包内,一个在包外,具有简单的创建功能。
在我的匿名区块中,我尝试给他们打电话:
declare
...
begin
my_variable := get_myfunction_outside_a_package();
my_other_variable := PK_myPackage.get_function_inside_a_package();
end;
此调用可以在包内工作。
这里,我有错误说这些函数没有定义......
是否可以在匿名块内调用这些函数...如何做到这一点?
您的代码可以运行(如果您定义了变量、函数和包):
CREATE FUNCTION get_myfunction_outside_a_package RETURN NUMBER
IS
BEGIN
RETURN 42;
END;
/
CREATE PACKAGE PK_myPackage
IS
FUNCTION get_function_inside_a_package RETURN NUMBER;
END;
/
CREATE PACKAGE BODY PK_myPackage
IS
FUNCTION get_function_inside_a_package RETURN NUMBER
IS
BEGIN
RETURN 6 * 9;
END;
END;
/
然后:
declare
my_variable NUMBER;
my_other_variable NUMBER;
begin
my_variable := get_myfunction_outside_a_package();
my_other_variable := PK_myPackage.get_function_inside_a_package();
DBMS_OUTPUT.PUT_LINE(my_variable);
DBMS_OUTPUT.PUT_LINE(my_other_variable);
end;
/
输出:
42
54