sql >> Database teknologi >  >> RDS >> Mysql

Mysql CASE FUNDET IKKE for CASE STATEMENT på en lagret procedure

Dette er et MySQL-specifikt problem.
I MySQL skal en sag altid have et gyldigt match, altså en ELSE-klausul.
Og da erklæringen efter kampen ikke kan være tom, kan du udfylde den med en tom blok som sådan:

ELSE BEGIN END;

Så en gyldig sag ville for eksempel være:

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. Eksekverer du et php-script i javascript?

  2. newid() inde i sql-serverfunktionen

  3. Base64 som metode til at rense brugerinput til Mysql

  4. primære indekser kontra sekundære indekser:præstationsforskelle