sql >> Databáze >  >> RDS >> Mysql

PŘÍPAD Mysql NENÍ NALEZEN pro CASE STATEMENT na uložené proceduře

Toto je specifický problém MySQL.
V MySQL musí mít případ vždy platnou shodu, tedy klauzuli ELSE.
A protože příkaz po shodě nemůže být prázdný, můžete jej vyplnit prázdný blok takto:

ELSE BEGIN END;

Platný případ by tedy byl například:

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. Velký obchod:SQL Server 2016 Service Pack 1

  2. Nelegální mix porovnávání v mySQL

  3. Poddotaz s LIMIT v Doctrine

  4. Chyba při pokusu o aktualizaci rozvrhu v jarním spouštění