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