Stored Procedure
Eine Stored Procedure ist ein vorkompiliertes SQL-Programm, das in der Datenbank gespeichert und bei Bedarf aufgerufen wird; sie reduziert Netzwerkroundtrips und SQL-Injection-Risiko.
Zweck
Geschäftslogik in die Datenbank verlagern und Netzwerkroundtrips sowie wiederholtes Parsen reduzieren.
Mechanismus
In SQL/PL (PL/pgSQL, T-SQL) geschrieben, vorkompiliert mit gecachten Ausführungsplänen. Nimmt Parameter an und liefert Ergebnismengen oder betroffene Zeilenzahlen. Läuft in der Datenbank, spart Roundtrips, mit steuerbaren Rechten. Aber schwer zu debuggen, zu versionieren und von der Datenbank zu entkoppeln.
Anwendungsfälle
- Kapselung komplexer Geschäftslogik
- Stapelverarbeitung von Daten
- Rechteisolierte Datenbankoperationen
- Logik von Altsystemen
Beispiele
- Eingabe
CALL transfer(account_a, account_b, 100)OutputStored procedure invokedPrecompiled
Häufige Fehler
- Over-pushing business logic down hurts maintainability
- Keep core logic in the app; use procedures only for data-intensive operations
Verwandte Begriffe
Trigger
Ein Trigger ist Datenbankcode, der bei bestimmten Ereignissen (INSERT/UPDATE/DELETE) automatisch ausgeführt wird; er dient Auditing, Kaskaden und Constraints. GLOSSAR
View
Eine View ist eine gespeicherte Abfragedefinition (eine virtuelle Tabelle) ohne Daten, die zur Abfragezeit dynamisch berechnet wird; sie dient der Vereinfachung, Sicherheitstrennung und Abstraktion. GLOSSAR
SQL
SQL (Structured Query Language) ist die Standard-Abfragesprache relationaler Datenbanken und definiert und manipuliert Daten deklarativ (DDL/DML/DQL/DCL). GLOSSAR