Mit SQL Stored Pro­ce­du­res speichern Sie häufig benötigte Abfragen und Pro­ze­du­ren als komplette Code­blö­cke, die Sie später effizient und zeit­spa­rend abrufen. Auf diese Weise müssen Sie eine SQL-Anweisung nicht neu aus­for­mu­lie­ren, sondern rufen einfach Ihre ge­spei­cher­te Stored Procedure ab.

Was sind SQL Stored Pro­ce­du­res?

Bei der Anwendung der Datenbank- und Pro­gram­mier­spra­che SQL werden Sie bestimmte SQL-An­wei­sun­gen immer wieder benötigen. Komplexe State­ments jedes Mal neu ein­zu­ge­ben, kostet jedoch Zeit und birgt Feh­ler­an­fäl­lig­keit. Eine SQL Stored Procedure er­leich­tert Ihnen daher die Arbeit mit komplexen oder re­gel­mä­ßi­gen Abfragen. Sie speichern damit einfach häufig benötigte Code­blö­cke und rufen diese bei Bedarf ab. Auf diese Weise können Sie wie­der­keh­ren­de Pro­ze­du­ren au­to­ma­ti­sie­ren und die Effizienz Ihrer Da­ten­ver­wal­tung deutlich ver­bes­sern.

Der Vorteil an Stored Pro­ce­du­res: Sie können im Grunde jede Art von SQL-Anweisung und Statement aus SQL-Funk­tio­nen, SQL-Befehlen und SQL-Ope­ra­to­ren mit ver­schie­de­nen Pa­ra­me­tern speichern und nahezu jede Form von Aufgabe ausführen lassen. Sie erstellen Stored Pro­ce­du­res für die ge­wünsch­te Aktion und rufen sie ab, indem Sie den PROCEDURE-Namen in reguläre An­wei­sun­gen wie SQL UPDATE oder SQL SELECT einfügen. Zu den Funk­tio­nen, die Sie damit au­to­ma­ti­sie­ren können, zählen Ak­tua­li­sie­run­gen, Abfragen, das Löschen von Daten oder die Ausgabe von ge­wünsch­ten Werten.

Tipp

Lernen Sie die Grund­la­gen von SQL: Unsere SQL-Ein­füh­rung mit Bei­spie­len sorgt für einen schnellen Überblick zu den wich­tigs­ten Funk­tio­nen und Regeln.

Die Syntax von Stored Pro­ce­du­res erklärt

Die in­di­vi­du­el­le Stored-Procedure-Syntax hängt von dem Codeblock ab, den Sie speichern möchten, und kann daher mehr oder weniger komplex ausfallen.

Einfache Stored Procedure erstellen:

CREATE PROCEDURE Procedure_Name (Parameter1 Dateityp, Parameter2 Dateityp, …)
AS
BEGIN
(Codeblock, der gespeichert werden soll)
END;
sql

Je nach Da­ten­bank­ma­nage­ment­sys­tem kann die Syntax auch wie folgt aussehen:

CREATE PROCEDURE Procedure_Name (Parameter1 Dateityp, Parameter2 Dateityp, …)
AS
(Codeblock, der gespeichert werden soll)
GO;
sql

Diese Parameter kommen zum Einsatz:

  • CREATE PROCEDURE: Mit dem Schlüs­sel­wort de­fi­nie­ren Sie den Codeblock, den Sie speichern möchten. Den Namen der Prozedur verwenden Sie, um sie einzeln aus­zu­füh­ren oder in eine andere Anweisung ein­zu­fü­gen. Parameter können ver­schie­de­ne benötigte Daten inklusive Dateityp umfassen.
  • AS: Definiert den Beginn des Code­blocks, den Sie als Stored Procedure speichern möchten.
  • BEGIN + END: Markieren den Anfang und das Ende des zu spei­chern­den Code­blocks.
  • GO: Erfüllt dieselbe Funktion wie END und markiert das Ende des Code­blocks.

Stored Procedure ausführen:

EXEC Procedure_Name;
sql

Vorteile und An­wen­dun­gen von Stored Pro­ce­du­res

Mit SQL Stored Pro­ce­du­res können Sie im Grunde alle möglichen SQL-An­wei­sun­gen speichern, um sie später als voll­stän­di­ge Prozedur abzurufen. Die Vorteile von Stored Pro­ce­du­res umfassen:

  • Code wie­der­ver­wen­den: Bestimmte SQL-Befehle und -Funk­tio­nen werden Sie immer wieder im Umgang mit Ihrer Datenbank nutzen. Indem Sie einfache oder komplexe An­wei­sun­gen speichern, können Sie diese jederzeit wie­der­ver­wen­den, ohne den Code dafür extra eingeben zu müssen.
  • Ver­ein­fach­te Arbeit mit Da­ten­ban­ken: Vor allem bei komplexen Aufgaben er­mög­li­chen Ihnen Stored Pro­ce­du­res, um­fang­rei­che Pro­ze­du­ren in mehrere Pro­ze­du­ren auf­zu­tei­len. Sie behandeln Code­blö­cke somit wie Module, die Sie in Ihre aktuelle Anweisung einbauen.
  • Mehr Effizienz, bessere Per­for­mance: Durch ge­spei­cher­te Code­blö­cke ver­ein­fa­chen Sie die Er­stel­lung von SQL-An­wei­sun­gen und somit die Per­for­mance in um­fang­rei­chen Da­ten­ban­ken.
  • Mehr Si­cher­heit: Indem Sie ge­spei­cher­te Pro­ze­du­ren mit Be­rech­ti­gun­gen versehen, stellen Sie sicher, dass sich sensible und ge­schäfts­kri­ti­sche Daten nur mit Zu­griffs­be­rech­ti­gung abrufen oder be­ar­bei­ten lassen.

Prak­ti­sche An­wen­dungs­fäl­le aus ver­schie­de­nen Branchen umfassen unter anderem:

  • Au­to­ma­ti­sie­rung von Be­stell­vor­gän­gen und Ak­tua­li­sie­rung von Kun­den­da­ten
  • Über­wa­chung und Prüfung von ver­däch­ti­gen Fi­nanz­trans­ak­tio­nen oder Berechnen von Kre­dit­zin­sen
  • Angebote auf Basis von Kun­den­da­ten, Kauf­ver­hal­ten, Be­stell­vo­lu­men und Region au­to­ma­tisch erstellen
  • Pro­vi­sio­nen von Mit­ar­bei­te­rin­nen und Mit­ar­bei­tern basierend auf Leistung berechnen
  • Fi­nanz­be­rich­te erstellen und Trans­ak­tio­nen buchen
  • Ver­fol­gung, Über­wa­chung und Syn­chro­ni­sie­rung von La­ger­be­stän­den und Be­stell­ein­gän­gen

Prak­ti­sche Beispiele für SQL Stored Pro­ce­du­res

Um die Funk­ti­ons­wei­se von Stored Pro­ce­du­res zu ver­an­schau­li­chen, finden Sie im Folgenden zwei prak­ti­sche An­wen­dungs­bei­spie­le.

Alle Kundinnen und Kunden abrufen

Sie möchten in einer Tabelle „Kunden“ alle Kun­den­da­ten abrufen. Gehen Sie wie folgt vor:

CREATE PROCEDURE SelectAlleKunden
AS
BEGIN
SELECT * FROM Kunden
END;
sql

Be­stel­lun­gen aus einer Stadt auswählen

Sie möchten in einer Tabelle „Be­stel­lun­gen“ alle Be­stel­lun­gen aus einer be­stimm­ten Stadt abrufen. Gehen Sie wie folgt vor:

CREATE PROCEDURE SelectAlleBestellungenAusBerlin
AS
BEGIN
SELECT * FROM Bestellungen WHERE Stadt = 'Berlin'
END;
sql

Al­ter­na­ti­ven zu SQL Stored Pro­ce­du­res

SQL bietet Ihnen ver­schie­de­ne Al­ter­na­ti­ven mit einer ähnlichen Funk­ti­ons­wei­se wie bei Stored Pro­ce­du­res. Dazu zählen:

  • UDF (User Defined Function): Mit SQL UDFs können Sie mit dem Schlüs­sel­wort CREATE FUNCTION eigene Funk­tio­nen erstellen und als voll­stän­di­ge Code­blö­cke speichern. Auf diese Weise lassen sich komplexe Abfragen als vor­de­fi­nier­te Funktion in andere SQL-An­wei­sun­gen in­te­grie­ren, ohne den voll­stän­di­gen Code erneut ein­zu­ge­ben.
  • VIEWS: Mit VIEWS können Sie leere, virtuelle Tabellen erstellen, mit denen Sie Da­ten­sät­ze je nach vor­de­fi­nier­ten Pa­ra­me­tern ana­ly­sie­ren. VIEWS fügen Sie wie UDFs oder Stored Pro­ce­du­res als Element in SQL-An­wei­sun­gen ein.
Zum Hauptmenü