Stored Procedures sind gespeicherte Prozeduren in der Datenbank, die du mit einem einzigen Befehl aufrufen kannst. Sie helfen, wiederkehrende Abläufe zu automatisieren, komplexe Logik in die Datenbank zu verlagern und den Code übersichtlicher zu machen.
🔹 Was sind Stored Procedures?
- Eine Stored Procedure ist ein SQL-Skript, das in der Datenbank gespeichert wird.
- Sie wird einmal erstellt und kann beliebig oft aufgerufen werden.
- Parameter machen sie flexibel (
IN
,OUT
,INOUT
).
👉 Vorteil: Weniger wiederholter Code, zentrale Logik in der DB.
🔹 Einfache Procedure erstellen
Beispiel: Alle Kunden zurückgeben.
DELIMITER // CREATE PROCEDURE alle_kunden() BEGIN SELECT id, vorname, nachname, email FROM kunden; END // DELIMITER ;
Aufruf:
CALL alle_kunden();
🔹 Procedure mit Parametern
Beispiel: Bestellungen eines Kunden anzeigen.
DELIMITER // CREATE PROCEDURE bestellungen_von(IN kunde INT) BEGIN SELECT b.id, b.produkt, b.preis, b.bestelldatum FROM bestellungen b WHERE b.kunde_id = kunde; END // DELIMITER ;
Aufruf:
CALL bestellungen_von(1);
🔹 Procedure mit Ausgabeparameter
Beispiel: Anzahl der Bestellungen eines Kunden zurückgeben.
DELIMITER // CREATE PROCEDURE anzahl_bestellungen(IN kunde INT, OUT anzahl INT) BEGIN SELECT COUNT(*) INTO anzahl FROM bestellungen WHERE kunde_id = kunde; END // DELIMITER ;
Aufruf:
CALL anzahl_bestellungen(1, @anzahl); SELECT @anzahl;
🔹 Procedure löschen
DROP PROCEDURE IF EXISTS alle_kunden;
🔹 Übung
- Erstelle eine Procedure
kunde_suchen
, die Vorname und Nachname als Parameter nimmt und den passenden Kunden anzeigt. - Baue eine Procedure
gesamt_ausgaben
, die einem Kunden die Summe aller Bestellungen zurückgibt (alsOUT
-Parameter). - Teste beide Procedures mit verschiedenen Kunden.
✅ Zusammenfassung
- Stored Procedures automatisieren wiederkehrende Abläufe.
- Mit Parametern (
IN
,OUT
) werden sie flexibel. - Aufruf erfolgt mit
CALL
. - Sie machen Abfragen wiederverwendbar und strukturieren den Datenbankcode.
Im nächsten Kapitel beschäftigen wir uns mit Triggern – Aktionen, die automatisch bei Änderungen an Tabellen ausgelöst werden.
📚 Inhaltsverzeichnis
👉 MariaDB Kapitel 1: Einführung & Installation im Terminal
👉 MariaDB Kapitel 2: Benutzer & Rechteverwaltung
👉 MariaDB Kapitel 3: Tabellen sauber anlegen (Primär- & Fremdschlüssel)
👉 MariaDB Kapitel 4: Grundbefehle & Kurzschreibweisen in der MariaDB-Konsole
👉 MariaDB Kapitel 5: CRUD-Befehle – Daten einfügen, lesen, ändern und löschen
👉 MariaDB Kapitel 6: Primär- und Fremdschlüssel – Tabellen verknüpfen
👉 MariaDB Kapitel 7: Profi-Abfragen mit JOIN, GROUP BY & Aggregatfunktionen
👉 MariaDB Kapitel 8: Indexe, Views & Transaktionen
👉 MariaDB Kapitel 9: Produktivbetrieb – Sicherheit, Backups & Verwaltung
👉 MariaDB Kapitel 10: Abschlussprojekt – Ein Mini-Shop
📚 Bonus-Kapitel Ideen
👉 MariaDB Kapitel 11: Stored Procedures – Automatisierte Abläufe
👉 MariaDB Kapitel 12: Trigger – Aktionen bei Änderungen
👉 MariaDB Kapitel 13: Events – Zeitgesteuerte Aufgaben
👉 MariaDB Kapitel 14: Sicherheit & Best Practices
👉 MariaDB Kapitel 15: Performance-Tuning & Optimierung