TOP

SQL Stored Procedures für SQL Server

Was ist Stored Procedure?

Stored Procedure (Stored Procedure) ist vorbereiteter SQL-Code, der gespeichert werden kann, 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 zur Ausführung auf.

Sie können einer gespeicherten Prozedur auch Parameter übergeben, damit die gespeicherte Prozedur auf die übergebenen Parameterwerte reagieren kann.


Stored Procedure Syntax

CREATE PROCEDURE procedure_name
AS 
sql_statement
GO

Ausführen von Stored Procedure

EXEC procedure_name

Demonstrationsdatenbank

Das Folgende ist ein Beispiel aus der Tabelle „Customers“ („Kunden“) der Datenbank „Northwind“:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Stored Procedure Beispiel

Die folgende SQL-Abfrage erstellt eine gespeicherte Prozedur mit dem Namen „SelectAllCustomers“, die alle Datensätze aus der Tabelle „Customers“ auswählt:

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO

Führen wir die oben genannte gespeicherte Prozedur wie folgt aus:

EXEC SelectAllCustomers

Stored Procedure mit einem Parameter

Die folgende SQL-Abfrage erstellt eine gespeicherte Prozedur, die Kunden aus einer bestimmten Stadt aus der Tabelle „Kunden“ auswählt:

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO

Führen wir die oben genannte gespeicherte Prozedur wie folgt aus:

EXEC SelectAllCustomers @City = 'London'

Stored Procedure mit vielen Parametern

Es ist sehr einfach, mehrere Parameter zu konfigurieren, indem Sie jeden Parameter und Datentyp wie unten gezeigt durch ein Komma getrennt auflisten.

Die folgende SQL-Anweisung erstellt eine gespeicherte Prozedur, die Kunden aus einer bestimmten Stadt mit einer bestimmten Postleitzahl aus der Tabelle „Kunden“ auswählt:

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO

Führen wir die oben genannte gespeicherte Prozedur wie folgt aus:

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP'