调用out参数为null的plsql过程



我注意从PLSQL开发人员sql窗口调用一个过程。我的请求脚本是:

begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => arg3)
end

arg1和arg2具有";在";类型,arg3具有"0";out";类型程序声明类似于:

procedure someProcedure(arg1 in number,
arg2 in number,
arg3 out number)

当我在测试窗口测试这个过程时,我可以只给出arg1和arg2,让arg3像arg3:=arg3,但当我试图用上面的脚本从sql窗口调用过程时,在变量声明方面出现了错误。

arg3是可选参数,实际上我不知道它应该是什么。

以下是我遇到的3个错误案例:

  1. arg3=>arg3错误:应声明arg3的id
  2. arg3=>:arg3错误:ora-01008
  3. arg3=>out数字错误:ora-06550
  4. arg3=>无效的错误:pls-00306

如何使用等于null的arg3参数从sql窗口调用过程?

由于它是一个OUT参数,您必须具有"某事";将该价值投入其中。一个选项是局部变量:

declare
l_out number;                       --> why NUMBER? You said so
begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => l_out);       --> use it here
end;

最新更新