mysql 有如下存储过程CREATE  PROCEDURE `add_user`(in uid integer,in uname varchar(20),out result int)
begin
     declare collision int;     
     SELECT collision = count(*) from user where userid = uid;     
     if collision <> 0 then     
        set result = -1;        
     else
         insert into user values(uid,uname);
         set result = 1;
     end if;         
end;
该如何调用该存储过程,并获取该返回参数declare result int
call add_user 1,'22',result
select result
出错

解决方案 »

  1.   

    call add_user(1,'22,@result);
    select @result;
      

  2.   

    mysql 与ms sql server 虽然大部分相似,但还有是很多不同的。建议参考一下MYSQL的手册。
    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    感谢楼上的回答,但是有个问题搞不清楚
    使用变量的时候不应该是先定义变量么,
    难道mysql不用定义就可以使用变量了么
      

  4.   

    @var为SESSION变量,无需定义。 但如果是存储过程中的变量,则不以@开头,直接declare var int ; 建议看文档吧。