sql >> Base de Datos >  >> RDS >> Mysql

Mysql CASO NO ENCONTRADO para DECLARACIÓN DE CASO en un procedimiento almacenado

Este es un problema específico de MySQL.
En MySQL, un caso siempre debe tener una coincidencia válida, por lo tanto, una cláusula ELSE.
Y como la declaración después de la coincidencia no puede estar vacía, puede llenarla con una bloque vacío así:

ELSE BEGIN END;

Entonces un caso válido sería, por ejemplo:

CASE @news  
  WHEN 'emp' THEN  
    UPDATE equipos SET pe=pe+1,pg=pg-1 WHERE [email protected];  
  WHEN 'loc' THEN  
    UPDATE equipos SET pp=pp-1,pg=pg+1 WHERE [email protected];  
  ELSE BEGIN END;  
END CASE;