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