1318 - PROCEDURE的参数数量不正确

and*_*m24 4 mysql stored-procedures syntax-error

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
Run Code Online (Sandbox Code Playgroud)

当我使用这个程序时,我收到错误"预期8,得到7".我不明白这一点,如果我们看代码有7个输入参数和一个输出参数.似乎在调用程序时也需要指定out参数,任何想法为什么?

and*_*m24 10

您需要引用out参数

CALL ModificarUsuario('6','9123','Sandra','Profesor','12345','sandru','sdf',@a)
Run Code Online (Sandbox Code Playgroud)

看到结果执行 Select @a Select res