Zurück zu: SQL Tutorial
Was ist eine gespeicherte Prozedur?
Eine gespeicherte Prozedur ist ein vorbereiteter SQL-Code, den Sie speichern können, sodass der Code immer wieder verwendet werden kann.
Wenn Sie also eine SQL Abfrage haben, die Sie immer wieder schreiben, speichern Sie sie als gespeicherte Prozedur und rufen Sie sie dann einfach auf, um sie auszuführen.
Sie können einer gespeicherten Prozedur auch Parameter übergeben, sodass die gespeicherte Prozedur basierend auf den übergebenen Parameterwerten agieren kann.
Stored Procedure Syntax
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Ausführen einer gespeicherten Prozedur
EXEC procedure_name;
Demo Datenbank
Nachfolgend sehen Sie eine Auswahl aus der Tabelle „Kunden“ in der Beispieldatenbank Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Beispiel für eine gespeicherte Prozedur
Die folgende SQL-Anweisung erstellt eine gespeicherte Prozedur namens „SelectAllCustomers“, die alle Datensätze aus der Tabelle „Customers“ auswählt:
Beispiel
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Führen Sie die obige gespeicherte Prozedur wie folgt aus:
Beispiel
EXEC SelectAllCustomers;
Gespeicherte Prozedur mit einem Parameter
Die folgende SQL Anweisung erstellt eine gespeicherte Prozedur, die Kunden aus einer bestimmten Stadt aus der Tabelle „Kunden“ auswählt:
Beispiel
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;
Führen Sie die obige gespeicherte Prozedur wie folgt aus:
Beispiel
EXEC SelectAllCustomers @City = 'London';
Gespeicherte Prozedur mit mehreren Parametern
Das Einrichten mehrerer Parameter ist sehr einfach. Listen Sie einfach jeden Parameter und den Datentyp durch Kommas getrennt auf, wie unten gezeigt.
Die folgende SQL Anweisung erstellt eine gespeicherte Prozedur, die Kunden aus einer bestimmten Stadt mit einer bestimmten Postleitzahl aus der Tabelle „Kunden“ auswählt:
Beispiel
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;
Führen Sie die obige gespeicherte Prozedur wie folgt aus:
Beispiel
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';