Freigeben über


Erstellen einer gespeicherten Prozedur

In diesem Thema wird das Erstellen einer gespeicherten Transact-SQL-Prozedur mithilfe von SQL Server Management Studio und der Transact-SQL-Anweisung CREATE PROCEDURE beschrieben.

  • Vorbereitungen: Berechtigungen

  • So erstellen Sie eine Prozedur unter Verwendung von  SQL Server Management Studio, Transact-SQL

Berechtigungen

Erfordert die CREATE PROCEDURE-Berechtigung in der Datenbank und die ALTER-Berechtigung auf dem Schema, in dem die Prozedur erstellt wird.

So erstellen Sie eine gespeicherte Prozedur

Sie können eine der folgenden Anwendungen verwenden:

  • SQL Server Management Studio

  • Transact-SQL

Verwenden von SQL Server Management Studio

So erstellen Sie eine Prozedur im Objekt-Explorer

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie Datenbanken, erweitern Sie die AdventureWorks2012 -Datenbank, und erweitern Sie dann Programmierbarkeit.

  3. Klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur.

  4. Klicken Sie im Menü Abfrage auf Werte für Vorlagenparameter angeben.

  5. Geben Sie im Dialogfeld Werte für Vorlagenparameter angeben die folgenden Werte für die angezeigten Parameter ein.

    Parameter

    Wert

    Autor

    Your name

    Erstellt am

    Today's date

    Beschreibung

    Gibt Mitarbeiterdaten zurück.

    Prozedurname

    HumanResources.uspGetEmployeesTest

    @Param1

    @LastName

    @Datatype_For_Param1

    nvarchar(50)

    Default_Value_For_Param1

    NULL

    @Param2

    @FirstName

    @Datatype_For_Param2

    nvarchar(50)

    Default_Value_For_Param2

    NULL

  6. Klicken Sie auf OK.

  7. Ersetzen Sie im Abfrage-Editor die SELECT-Anweisung durch die folgende Anweisung:

    SELECT FirstName, LastName, Department
    FROM HumanResources.vEmployeeDepartmentHistory
    WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    
  8. Zum Testen der Syntax klicken Sie im Menü Abfrage auf Analysieren. Wenn eine Fehlermeldung zurückgegeben wird, vergleichen Sie die Anweisungen mit den Informationen oben und korrigieren Sie sie gegebenenfalls.

  9. Zum Erstellen der Prozedur klicken Sie im Menü Abfrage auf Ausführen. Die Prozedur wird als Objekt in der Datenbank erstellt.

  10. Damit die Prozedur im Objekt-Explorer angezeigt wird, klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren und wählen Aktualisieren aus.

  11. Um die Prozedur auszuführen, klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Namen HumanResources.uspGetEmployeesTest der gespeicherten Prozedur, und wählen Sie Gespeicherte Prozedur ausführen aus.

  12. Geben Sie im Fenster Prozedur ausführen den Wert Margheim für den @LastName-Parameter und den Wert Diane für den @FirstName-Parameter ein.

VorsichtshinweisVorsicht

Ü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.

[Nach oben]

Transact-SQL

So erstellen Sie eine Prozedur im Abfrage-Editor

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her.

  2. Klicken Sie im Menü Datei auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. In diesem Beispiel wird die gleiche gespeicherte Prozedur wie oben mit einem anderen Prozedurnamen erstellt.

    USE AdventureWorks2012;
    GO
    CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 
        @LastName nvarchar(50), 
        @FirstName nvarchar(50) 
    AS 
    
        SET NOCOUNT ON;
        SELECT FirstName, LastName, Department
        FROM HumanResources.vEmployeeDepartmentHistory
        WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    GO
    
  4. Um die Prozedur auszuführen, kopieren Sie das folgende Beispiel und fügen es in ein neues Abfragefenster ein und klicken auf Ausführen. Beachten Sie, dass verschiedene Methoden zum Angeben von Parameterwerten dargestellt werden.

    EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar';
    -- Or
    EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar';
    GO
    -- Or
    EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman';
    GO
    

[Nach oben]

Siehe auch

Verweis

CREATE PROCEDURE (Transact-SQL)