0
可以说我有一个包含三个函数的包。然后我在PL/SQL中创建一个存储过程。我怎样才能从这个过程中调用包“test_pkg”并表示函数的结果?如何使用存储的PL/SQL过程调用包函数?
可以说我有一个包含三个函数的包。然后我在PL/SQL中创建一个存储过程。我怎样才能从这个过程中调用包“test_pkg”并表示函数的结果?如何使用存储的PL/SQL过程调用包函数?
这是我该怎么做。
CREATE OR REPLACE PACKAGE test_pack IS
FUNCTION foobar RETURN varchar2;
FUNCTION foo RETURN varchar2;
FUNCTION bar RETURN varchar2;
END test_pack;
CREATE OR REPLACE PACKAGE BODY test_pack IS
FUNCTION foobar RETURN varchar2 IS
BEGIN
return 'star';
END foobar;
FUNCTION foo RETURN varchar2 IS
BEGIN
return 'foo';
END foo;
FUNCTION bar RETURN varchar2 IS
BEGIN
return 'bar';
END bar;
END test_pack;
CREATE OR REPLACE PROCEDURE test_the_pack IS
BEGIN
DBMS_OUTPUT.PUT_LINE('foobar returns: ' || test_pack.foobar());
DBMS_OUTPUT.PUT_LINE('foo returns: ' || test_pack.foo());
DBMS_OUTPUT.PUT_LINE('bar returns: ' || test_pack.bar());
END test_the_pack;
谢谢!为你的例子=) – 2015-03-03 14:46:12
您可以调用程序包中的过程/函数,而不是程序包本身。 – Sathya 2015-03-03 10:34:30
你有什么尝试?告诉我们你到目前为止的状况,并且我们应该能够指明方向。 – Boneist 2015-03-03 10:38:58
好吧,如果我有功能F_test3,存储其他功能的结果。我可以像这样在包外的存储过程中调用函数吗? 程序测试 as begin F_test3; – 2015-03-03 10:41:48