Hauptmenü

Untermenü

Advanced MySQL - Zwischenspeicherung - Routinen - Bedingungen

1. Möglichkeiten

MySQL kennt nur zwei Arten von Bedingungen. Also genau so wie PHP und Javascript. Und beide machen letztendlich dasselbe, nur die Schreibweise ist anders. Also wieder genau so wie bei PHP und Javascript. Als da wären IF mit seinen Abarten und CASE, das der switch ... case-Bedingung entspricht.

2. IF

Der prinzipielle Aufbau sieht so aus, wobei ELSE IF und ELSE natürlich optional sind.


IF bedingung THEN 
  befehle
ELSE IF bedingung THEN
  Befehle
ELSE
  Befehle
END IF;

3. CASE

Auch das hier ist nichts Großartiges.


CASE
  WHEN bedingung_1 THEN 
    Befehle
  WHEN bedingung_2 THEN 
    Befehle
  ELSE 
    Befehle
END CASE;

4. Aber!

Diese Bedingungen kann man nicht nur in gespeicherten Routinen verwenden, sondern auch in stinknormalen Abfragen.


SELECT 
(
  CASE 
    WHEN gesamtpreis 100 THEN 
      transportkosten 0
    ELSE 
      transportkosten 10
    END
)
FROM 
  warenkorb
WHERE 
  bestell_id 20;

Oder so


SELECT 
  IFNULL (bla'') AS irgendwas
FROM 
  ...

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt