Oracle:在包内调用存储过程

时间:2012-10-23 08:08:48

标签: oracle package

我在Oracle中并不多。我使用PL / SQL Developer。

我有以下套餐:

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 个答案:

答案 0 :(得分:26)

你快到了,只需拿出EXECUTE:

DECLARE
  procId NUMBER;

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

答案 1 :(得分:7)

倾向于使用GUI的人:

点击程序名称上的鼠标右键按钮,然后选择Test

enter image description here

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

enter image description here

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