DROP PROCEDURE `ModificarUsuario`//
CREATE DEFINER=`root`@`localhost` PROCEDURE `ModificarUsuario`(
IN `Aid` INT,
IN `Aced` VARCHAR(100),
IN `Anombre` VARCHAR(100),
IN `Acargo` VARCHAR(100),
IN `Acedula` VARCHAR(100),
IN `Ausuario` VARCHAR(100),
IN `Apass` VARCHAR(100),
OUT `res` VARCHAR(10) )
BEGIN
SELECT COUNT(usuario) INTO res FROM `usuario` WHERE `cedula`=Aced and `id`<>Aid;
IF res =0 THEN
UPDATE `usuario` SET cedula=Aced, nombre=Anombre, cargo=Acargo, usuario=Ausuario, contrasena=Apass WHERE cedula=Acedula;
END IF;
END
当我使用此过程时,我收到错误“预期 8,得到 7”。我不明白这一点,如果我们看一下代码,就会发现有 7 个输入参数和 1 个输出参数。调用过程时似乎还需要指定 out 参数,知道为什么吗?
需要引用out参数
CALL ModificarUsuario('6','9123','Sandra','Profesor','12345','sandru','sdf',@a)
执行查看结果 Select @a
or Select res
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)