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

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden Ergebnissen…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste einspannen.…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…