Gespeicherte SQL -Prozeduren für SQL Server
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 auch Parameter an eine gespeicherte Prozedur übergeben, sodass die gespeicherte Prozedur basierend auf den übergebenen Parameterwerten handeln kann.
Syntax gespeicherter Prozeduren
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Führen Sie eine gespeicherte Prozedur aus
EXEC procedure_name;
Demo-Datenbank
Nachfolgend finden Sie eine Auswahl aus der Tabelle "Kunden" in der Northwind-Beispieldatenbank:
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 gespeicherte Prozeduren
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 gespeicherte Prozedur oben 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 gespeicherte Prozedur oben 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 getrennt durch ein Komma 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 gespeicherte Prozedur oben wie folgt aus:
Beispiel
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';