我是为IBMi(AS400)存储过程创建DB2的新手。我正在从STRSQL中查找调用存储过程的问题。任何"IN"参数存储过程都是可调用的,但"OUT"参数存储程序不是。
create procedure egg(out pcount# INT)
language sql
set option dbgview=*source, USRPRF=*USER
begin
set pcount# = 5;
end
我称之为
call egg(?)
然后出现此错误。
SQL0418
Message . . . . : Use of parameter marker not valid.
我想在行中看到pcount#结果"5"。如有任何帮助,我们将不胜感激。
您尝试做的事情会奏效,但前提是您使用iNav的Run SQL Scripts查询工具。。
[ Thu Mar 26 08:50:52 EDT 2015 ] Run Selected
> call egg(?)
Return Code = 0
Output Parameter #1 = 5
Statement ran successfully (0 ms)
如果您正在使用最近的(7.1+)版本,另一个选项是使用全局变量。。
create or replace variable myout int default(0)
call egg(myout)
select myout from sysibm.sysdummy1
请注意,即使在使用全局变量的情况下,iNav的Run SQL Scripts也是一个更好的选择,因为它有一个选项卡,您可以打开它来直接创建、更新和删除全局变量。