sql >> Database >  >> RDS >> Mysql

Mysql CASE NIET GEVONDEN voor CASE STATEMENT op een opgeslagen procedure

Dit is een MySQL-specifiek probleem.
In MySQL moet een case altijd een geldige overeenkomst hebben, dus een ELSE-clausule.
En aangezien de verklaring na de overeenkomst niet leeg kan zijn, kunt u deze vullen met een leeg blok als volgt:

ELSE BEGIN END;

Dus een geldig geval zou bijvoorbeeld zijn:

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;


  1. auto_increment per groep

  2. Hoe te controleren op duplicaten in mysql-tabel over meerdere kolommen

  3. mysqldump onbekende optie geen piep

  4. Detecteer opeenvolgende items die voldoen aan bepaalde criteria in een tijdreeks