Zum Inhalt springen
uencoder

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)
    Output
    Stored procedure invoked

    Precompiled

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

References