Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte SQL-, Fabric- und Power BI-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Datenbank in Microsoft Fabric
Der Artikel beschreibt, wie Sie eine gespeicherte Prozedur von SQL Server mithilfe von SQL Server Management Studio und der CREATE PROCEDURE-Anweisung von Transact-SQL erstellen.
Erfordert die CREATE PROCEDURE-Berechtigung in der Datenbank und die ALTER-Berechtigung auf dem Schema, in dem die Prozedur erstellt wird.
Sie können die Benutzeroberfläche von SQL Server Management Studio (SSMS) oder Transact-SQL in einem SSMS-Abfragefenster verwenden, um eine gespeicherte Prozedur zu erstellen. Verwenden Sie immer die neueste Version von SSMS.
Hinweis
Die in diesem Artikel gespeicherte Beispielprozedur verwendet die Beispieldatenbank AdventureWorksLT2022
(SQL Server) oder AdventureWorksLT
(Azure SQL-Datenbank). Weitere Anweisungen zum Abrufen und Verwenden von AdventureWorksLT
-Beispieldatenbanken finden Sie unter AdventureWorks-Beispieldatenbanken.
So erstellen Sie eine gespeicherte Prozedur in SSMS:
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server oder Azure SQL-Datenbank her.
Weitere Informationen finden Sie in den folgenden Schnellstarts:
Erweitern Sie die Instanz und erweitern Sie dann die Datenbanken.
Erweitern Sie die gewünschte Datenbank und erweitern Sie dann die Programmierbarkeit.
Klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren, und wählen Sie dann Neue>gespeicherte Prozedur. Ein neues Abfragefenster wird mit einer Vorlage für die gespeicherte Prozedur geöffnet.
Die Standardvorlage für gespeicherte Prozeduren weist zwei Parameter auf. Wenn ihre gespeicherte Prozedur weniger, mehr oder keine Parameter aufweist, fügen Sie Parameterzeilen in der Vorlage entsprechend hinzu oder entfernen Sie sie.
Wählen Sie im Menü Abfrage die Option Werte für Vorlagenparameter angebenaus.
Geben Sie im Dialogfeld Werte für Vorlagenparameter angeben die folgenden Informationen für die Wert-Felder an:
Name
durch Ihren Namen.ProcedureName
mit dem Namen der neuen gespeicherten Prozedur.@p1
mit dem Namen des ersten Parameters, z. B. @ColumnName1.int
gegebenenfalls mit dem Datentyp Ihres ersten Parameters, z. B. nvarchar(50).0
gegebenenfalls mit dem Standardwert des ersten Parameters oder NULL.@p2
mit dem Namen des zweiten Parameters, z. B. @ColumnName2.int
ggf. durch den Datentyp des zweiten Parameters, z. B. nvarchar(50).0
ggf. mit dem Standardwert des zweiten Parameters oder NULL.Der folgende Screenshot zeigt das fertige Dialogfeld für die gespeicherte Beispielprozedur:
Wählen Sie OK aus.
Ersetzen Sie im Abfrage-Editor die SELECT-Anweisung durch die Abfrage für Ihre Prozedur.
Der folgende Code zeigt die abgeschlossene CREATE PROCEDURE-Anweisung für die gespeicherte Beispielprozedur:
-- =======================================================
-- Create Stored Procedure Template for Azure SQL Database
-- =======================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE SalesLT.uspGetCustomerCompany
(
-- Add the parameters for the stored procedure here
@LastName nvarchar(50) = NULL,
@FirstName nvarchar(50) = NULL
)
AS
/*
-- =============================================
-- Author: My Name
-- Create Date: 01/23/2024
-- Description: Returns the customer's company name.
-- =============================================
*/
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
-- Insert statements for procedure here
SELECT FirstName, LastName, CompanyName
FROM SalesLT.Customer
WHERE FirstName = @FirstName AND LastName = @LastName;
END
GO
Wählen Sie zum Testen der Syntax die Option Analysieren im Menü Abfrage aus. Beheben Sie alle Fehler.
Wählen Sie Ausführen in der Symbolleiste aus. Die Prozedur wird als Objekt in der Datenbank erstellt.
Damit die neue Prozedur im Objekt-Explorer angezeigt wird, klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren und wählen Aktualisieren aus.
So führen Sie die Prozedur aus:
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Namen der Gespeicherten Prozedur und wählen Sie Gespeicherte Prozedur ausführen aus.
Geben Sie im Fenster Prozedur ausführen Werte für alle Parameter ein, und wählen Sie dann OK aus. Ausführliche Anweisungen finden Sie unter Ausführen einer gespeicherten Prozedur.
Um beispielsweise die Beispielprozedur SalesLT.uspGetCustomerCompany
auszuführen, geben Sie Cannon als Parameter @LastName und Chris als Parameter @FirstName ein. Wählen Sie dann OK aus. Das gespeicherte Verfahren läuft und gibt FirstName
Chris, LastName
Cannon und CompanyName
Outdoor Sporting Goods zurück.
Wichtig
Überprüfen Sie alle Benutzereingaben. Verketten Sie keine Benutzereingaben, bevor Sie sie überprüft haben. Führen Sie niemals Befehle aus, die sich aus nicht überprüften Benutzereingaben zusammensetzen.
So erstellen Sie eine Prozedur im SSMS Abfrage-Editor:
Stellen Sie in SSMS eine Verbindung mit einer Instanz von SQL Server oder Azure SQL Database her.
Wählen Sie Neue Abfrage in der Symbolleiste aus.
Geben Sie den folgenden Code in das Abfragefenster ein, ersetzen Sie <ProcedureName>
, die Namen und Datentypen aller Parameter sowie die SELECT-Anweisung durch Ihre eigenen Werte.
CREATE PROCEDURE <ProcedureName>
@<ParameterName1> <data type>,
@<ParameterName2> <data type>
AS
SET NOCOUNT ON;
SELECT <your SELECT statement>;
GO
Die folgende Anweisung erstellt beispielsweise dieselbe gespeicherte Prozedur in der AdventureWorksLT
-Datenbank wie im vorherigen Beispiel mit einem etwas anderen Prozedurnamen.
CREATE PROCEDURE SalesLT.uspGetCustomerCompany1
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName, CompanyName
FROM SalesLT.Customer
WHERE FirstName = @FirstName AND LastName = @LastName;
GO
Wählen Sie Ausführen in der Symbolleiste aus, um die Abfrage auszuführen. Die gespeicherte Prozedur wurde erstellt.
Um die gespeicherte Prozedur auszuführen, geben Sie eine EXECUTE-Anweisung in ein neues Abfragefenster ein, geben Sie Werte für alle Parameter ein und wählen Sie dann Ausführen aus. Ausführliche Anweisungen finden Sie unter Ausführen einer gespeicherten Prozedur.
Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte SQL-, Fabric- und Power BI-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Jetzt registrierenTraining
Modul
Erstellen von gespeicherten Prozeduren und benutzerdefinierten Funktionen - Training
Dieser Inhalt ist Teil von „Erstellen von gespeicherten Prozeduren und benutzerdefinierten Funktionen“.
Dokumentation
CREATE PROCEDURE (Transact-SQL) - SQL Server
CREATE PROCEDURE (Transact-SQL)
Ändern einer gespeicherten Prozedur - SQL Server
Hier erfahren Sie, wie Sie eine gespeicherte Prozedur in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL ändern.
Ausführen einer gespeicherten Prozedur - SQL Server
Hier erfahren Sie, wie Sie eine gespeicherte Prozedur mithilfe von SQL Server Management Studio oder Transact-SQL ausführen.