0

Mysql2::Error: OUT or INOUT argument 3 for routine database_name.proc_name is not a variable or NEW pseudo-variable in BEFORE trigger

所以,我基本上只是通过做来调用一个过程

connection = Mysql2::Client.new(config)
result = connection.query('call proc_name(1, 2, 3, 4, 5)')

proc 有 5 个参数,前 2 个是 IN,后 3 个是 INOUT。现在,我认为它在抱怨,因为它希望 INOUT 成为它可以分配给/更改值的变量。

因此,由于我的 connection.query 正在调用一个字符串(事先已对其进行了清理),是否有不同的方法来调用 proc,以便 INOUT 可以工作?

4

1 回答 1

0

所以,mysql应该是这样的:

@variable1=1;
call proc_name( @variable1, 2, 3, 4, 5 );
select @variable1;

(假设第一个变量是唯一的 INOUT )

基本上每个 INOUT 变量都需要定义,然后用作 arg,然后选择,对吗?

于 2012-09-24T20:11:06.347 回答