Stored procedures INOUT或OUT参数需要动态参数或变量
现在我正在尝试为HSQL-DB创建一些存储过程 我想创建一个新用户并返回新用户的ID 例如,我尝试这样创建过程Stored procedures INOUT或OUT参数需要动态参数或变量,stored-procedures,hsqldb,Stored Procedures,Hsqldb,现在我正在尝试为HSQL-DB创建一些存储过程 我想创建一个新用户并返回新用户的ID 例如,我尝试这样创建过程 create procedure test(out param int) modifies sql data begin atomic set param = 1; end; =>叫它 declare param int ; call test(param); call param; =>错误 dynamic parameter or variable required as IN
create procedure test(out param int)
modifies sql data
begin atomic
set param = 1;
end;
=>叫它
declare param int ;
call test(param);
call param;
=>错误
dynamic parameter or variable required as INOUT or OUT argument
我找不到虫子--
再见。这是您如何调用该过程的:
declare param int;
call test(param)
call param
看起来是一样的,但每个语句都是单独执行的 这是您调用过程的方式:
declare param int;
call test(param)
call param
看起来是一样的,但每个语句都是单独执行的 当我执行这个=>时,因为“;”在第二个callYes之前需要,只有第一个语句必须以“;”结尾。但是您必须逐个单独执行这些语句。当我使用HSQLDB2.2.9和两个早期版本进行测试时,它是有效的。执行创建过程后,首先执行
declare param int
,然后分别调用test(param)和调用param
,一个接一个。我真想哭--这真的就像我站在一堵墙前,想知道“墙在哪里”:/不管怎样,谢谢如果你使用数据库管理器,每个语句都需要分别调用。当我执行这个=>时,因为“;”在第二个callYes之前需要,只有第一个语句必须以“;”结尾。但是您必须逐个单独执行这些语句。当我使用HSQLDB2.2.9和两个早期版本进行测试时,它是有效的。执行创建过程后,首先执行declare param int
,然后分别调用test(param)和调用param
。我真的想哭--这真的就像我站在一堵墙前,想知道“墙在哪里”:/不管怎样,如果你使用数据库管理器,每个语句都需要分别调用。