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;
最后一个参数必须是一个变量。
--转自