Aufgabenverteilung

Teil 4: MySQL Stored Procedures

Arbeiten mit Tabellen

Natürlich können Sie anstelle von statischen Werten innerhalb von Prozeduren auch mit Werten aus einer Datenbank arbeiten. Im folgenden Beispiel wird der erste Datensatz aus der Datenbank bsp1 gelesen und anschließend ausgeben.

CREATE PROCEDURE bsp3()
BEGIN
DECLARE L_IDENT INT;
DECLARE L_INFO VARCHAR(20));
SELECT IDENT, INFO INTO L_IDENT,
L_INFO FROM bsp1 LIMIT 1;
SELECT L_IDENT, L_INFO;
END|

Die Einschränkung auf den ersten Datensatz der Tabelle bsp1 erreichen Sie über den Zusatz limit 1 innerhalb der SQL-Abfrage.

Bedingungen

Die bisherigen Beispiele nutzen zum größten Teil Standard-SQL-Befehle. Damit lassen sich jedoch gewisse Sachverhalte, wie beispielsweise Bedingungen oder Schleifen nicht abbilden. Deswegen hat man konsequenterweise innerhalb von Prozeduren und Funktionen den Sprachschatz um einige Elemente, wie beispielsweise Bedingungen, erweitert.

MySQL Stored Procedures

© Archiv

Für die temporäre Verwendung von Werten nutzen Sie lokale Variablen.

Eine IF-Bedingung hat in MySQL folgenden Aufbau:

IF [Bedingung] THEN [Aktion] ELSE [Aktion] END IF

Im folgenden Beispiel soll die Zeichenlänge zweier Strings, die Sie als Variablen der Prozedur mitgeben, miteinander verglichen und als Meldung ausgegeben werden, welche der beiden länger ist.

CREATE PROCEDURE bsp3()
BEGIN
DECLARE L_IDENT INT;
DECLARE L_INFO VARCHAR(20));
SELECT IDENT, INFO INTO L_IDENT,
L_INFO FROM bsp1 LIMIT 1;
SELECT L_IDENT, L_INFO;
END|

Im ersten Schritt werden zwei lokale Hilfsvariablen L_LEN1 und L_LEN2 definiert, in denen anschließend die Länge der beiden Strings gespeichert wird. Diese werden verglichen und abhängig vom Ergebnis eine entsprechende Meldung ausgegeben.

Fallunterscheidung

Als Alternative zur normalen IF-Schleife bietet MySQL auch noch die CASE-Anweisung an, bei der Sie abhängig vom Wert einer Variable verschiedene Folgeaktionen ansteuern können.

Der Aufbau der Anweisung sieht folgendermaßen aus: CASE Variable WHEN Wert1 THEN Aktion1; WHEN Wert2 THEN Aktion2; ... WHEN WertX THEN AktionX; ELSE AktionY; END CASE;

Im Beispiel wird anhand der Rückennummer der passende Spieler des FC Bayern München zugeordnet.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".