2012-10-23 136 views
11

我在Oracle中并不多。我使用PL/SQL Developer。Oracle:调用包中的存储过程

我有以下的包:

create or replace package PKG1 
as 
procedure INIT 
(
    nRN      in number, 
    nREC_TYPE     in number, 
    nIDENT     out number 
); 

我不知道如何将它从PL/SQL Developer环境中调用。我已经试过这样:

DECLARE 
    procId NUMBER; 

BEGIN 
    EXECUTE PKG1.INIT(1143824, 0, procId); 
    DBMS_OUTPUT.PUT_LINE(procId); 
END; 

但是,有一个ORA-06550(PLS-00103)的错误。

正如你所看到的,我有2个输入和1个输出参数。我想打印输出参数。就这样。

在此先感谢您的帮助。

戈兰

+2

你不需要EXECUTE。 –

回答

19

你就要成功了,只是采取了EXECUTE:

DECLARE 
    procId NUMBER; 

BEGIN 
    PKG1.INIT(1143824, 0, procId); 
    DBMS_OUTPUT.PUT_LINE(procId); 
END; 
4

于那些趋向使用GUI:

点击上procecdure名鼠标右键按钮然后选择Test

enter image description here

然后在新的窗口中,您将看到脚本生成只需要添加的参数和Start DebuggerF9单击

enter image description here

希望这可以节省一些时间。