INOUT参数Mysql过程(不是IN OUT)

时间:2016-05-31 09:14:41

标签: mysql

我有一个设计为

的存储过程
OUT       id
INOUT     name
IN        password
OUT       activate

我想检索值id,name,active。

当我这样做时

CALL login(@id,'abc','abc',@activate);
select @id as rm_out_param, @activate as active_out_param,@name as uname;

它显示了一个错误

OUT or INOUT argument 2 is not a variable

当我尝试使用

CALL login(@id,@name,'abc','abc',@activate);
select @id as rm_out_param, @activate as active_out_param,@name as uname;

它显示我的错误

Invalid arguments supplied expected 4,5 given

如何克服这个问题,将结果输出作为id,name,active

谢谢,非常感谢

1 个答案:

答案 0 :(得分:0)

  

我有一个设计为

的存储过程
OUT       id
INOUT     name
IN        password
OUT       activate

由于以上三个参数都是OUT类型。因此,您必须传递变量来代替它们而不是任何值或字符串文字。

所以,在这里你应该如何调用这个程序:

SET @name := 'abc';

CALL login(@id,@name,'abc',@activate);

select @id as rm_out_param, @activate as active_out_param,@name as uname;