Oracle:调用包内的存储过程
Posted
技术标签:
【中文标题】Oracle:调用包内的存储过程【英文标题】:Oracle: Call stored procedure inside the package 【发布时间】:2012-10-13 02:58:09 【问题描述】:我对甲骨文了解不多。我使用 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 个输出参数。我想打印输出参数。就是这样。
提前感谢您的帮助。
戈兰
【问题讨论】:
【参考方案1】:你快到了,只需取出 EXECUTE:
DECLARE
procId NUMBER;
BEGIN
PKG1.INIT(1143824, 0, procId);
DBMS_OUTPUT.PUT_LINE(procId);
END;
【讨论】:
【参考方案2】:致那些倾向于使用 GUI 的人:
点击过程名称上的鼠标右键然后选择Test
然后在新窗口中您将看到生成的脚本,只需添加参数并单击Start Debugger
或 F9
希望这可以为您节省一些时间。
【讨论】:
以上是关于Oracle:调用包内的存储过程的主要内容,如果未能解决你的问题,请参考以下文章