使用 out 参数 = null 调用 plsql 过程
Call plsql procedure with out parameter = null
我注意到从 PLSQL 开发人员 sql window 调用了一个过程。
我的请求脚本是:
begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => arg3)
end
arg1 和 arg2 为“in”类型,arg3 为“out”类型。
程序声明如下:
procedure someProcedure(arg1 in number,
arg2 in number,
arg3 out number)
当我在测试 window 中测试这个程序时,我可以只给出 arg1 和 arg2,并让 arg3 像 arg3 := arg3,但是当我试图从 sql 调用程序时window 对于上面的脚本,我遇到了关于变量声明的错误。
arg3 是可选参数,实际上我不知道它应该是什么。
这是我遇到的 3 个错误案例:
- arg3 => arg3
错误:应声明 arg3 的 ID
- arg3 => :arg3
错误:ora-01008
- arg3 => 输出数
错误:ora-06550
- arg3 => 空
错误:pls-00306
如何使用等于 null 的 arg3 参数从 sql window 调用过程?
因为它是一个 OUT
参数,所以您必须有“东西”来放入该值。一种选择是局部变量:
declare
l_out number; --> why NUMBER? You said so
begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => l_out); --> use it here
end;
我注意到从 PLSQL 开发人员 sql window 调用了一个过程。 我的请求脚本是:
begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => arg3)
end
arg1 和 arg2 为“in”类型,arg3 为“out”类型。 程序声明如下:
procedure someProcedure(arg1 in number,
arg2 in number,
arg3 out number)
当我在测试 window 中测试这个程序时,我可以只给出 arg1 和 arg2,并让 arg3 像 arg3 := arg3,但是当我试图从 sql 调用程序时window 对于上面的脚本,我遇到了关于变量声明的错误。
arg3 是可选参数,实际上我不知道它应该是什么。
这是我遇到的 3 个错误案例:
- arg3 => arg3 错误:应声明 arg3 的 ID
- arg3 => :arg3 错误:ora-01008
- arg3 => 输出数 错误:ora-06550
- arg3 => 空 错误:pls-00306
如何使用等于 null 的 arg3 参数从 sql window 调用过程?
因为它是一个 OUT
参数,所以您必须有“东西”来放入该值。一种选择是局部变量:
declare
l_out number; --> why NUMBER? You said so
begin
someProcedure(arg1 => 22222,
arg2 => 0,
arg3 => l_out); --> use it here
end;