日期:2014-05-16  浏览次数:20831 次

mysql 1414错误,急急~~~~~贴存"猪"过程代码(在线)
DELIMITER   $$;

DROP   PROCEDURE   IF   EXISTS   `hoteldb`.`Sf_StudentInfo`$$

CREATE   DEFINER=`root`@`localhost`   PROCEDURE   `Sf_StudentInfo`(in   Sf_xh   varchar(20),in   Sf_fjbm   varchar(20),in   Sf_cwh   int,Inout   Sf_ErrNo   int)
BEGIN
        if   exists(select   *   from   Zsdj   where   xh=Sf_xh   and   yxbz= '1 ')   then
              set   Sf_ErrNo=1;
        end   if;
             
        if   exists(select   *   from   Zsdj   where   fjh=Sf_fjbm   and   cwh=Sf_cwh)   then
              set   Sf_ErrNo=2;
        end   if;      
       
        if   exists(select   *   from   Fjgl   where   fjbm=Sf_fjbm   and   zcws-yzrs> 0)   then
              set   Sf_ErrNo=3;
        else
              set   Sf_ErrNo=4;
        end   if;      
END$$

DELIMITER   ;$$

=============================
在mysql命令行调用:call   Sf_StudentInfo( '048 ', 'F20050510160659 ',2,1);

出错信息:

Error   1414   :
OUT   or   INOUT   argument   4   for   routine   dbb.Sf_StudentInfo   is   not   a   variable   or   NEW
pseudo-variable   in   BEFORE   trigger.


====================
请大家帮帮忙啊…………

------解决方案--------------------
call Sf_StudentInfo( '048 ', 'F20050510160659 ', '2 ',@a);
select @a;

最后一个参数必须是一个变量。
------解决方案--------------------
call Sf_StudentInfo( '048 ', 'F20050510160659 ',2,@a);
select @a;

最后一个参数必须是一个变量。