我有一个设计为
的存储过程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
谢谢,非常感谢
答案 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;