我注意从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个错误案例:
- arg3=>arg3错误:应声明arg3的id
- arg3=>:arg3错误:ora-01008
- arg3=>out数字错误:ora-06550
- 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;