Exemplarische Vorgehensweise: Erstellen von gespeicherten Prozeduren für die Northwind-Kundentabelle

Aktualisiert: April 2011

In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie vier gespeicherte Prozeduren in der Beispieldatenbank Northwind erstellen. Die gespeicherten Prozeduren ermöglichen es Ihnen, Kunden in der Datenbank auszuwählen, einzufügen, zu aktualisieren und zu löschen.

Der Abschnitt "Nächste Schritte" enthält Links zu Themen, in denen die Verwendung dieser gespeicherten Prozeduren beschrieben wird.

Vorbereitungsmaßnahmen

Um diese exemplarische Vorgehensweise nachzuvollziehen, benötigen Sie Folgendes:

Verbinden mit der Datenbank Northwind

Bevor Sie die gespeicherten Prozeduren erstellen, müssen Sie eine Verbindung mit der SQL Server-Version der Datenbank Northwind herstellen. Im folgenden Verfahren wird veranschaulicht, wie Sie eine Datenverbindung erstellen.

Tipp

Wenn Sie bereits über eine Datenverbindung mit der Datenbank Northwind verfügen, können Sie mit dem nächsten Abschnitt Erstellen der gespeicherten Prozeduren fortfahren.

So erstellen Sie eine Datenverbindung zur SQL Server-Datenbank Northwind

  1. Klicken Sie im Menü Ansicht auf Server-Explorer/Datenbank-Explorer.

  2. Klicken Sie mit der rechten Maustaste auf Datenverbindungen, und klicken Sie dann auf Verbindung hinzufügen.

  3. Klicken Sie im Dialogfeld Datenquelle auswählen auf Microsoft SQL Server, und klicken Sie dann auf OK.

    Wenn das Dialogfeld Verbindung hinzufügen geöffnet wird und als Datenquelle nicht Microsoft SQL Server (SqlClient) angezeigt wird, klicken Sie auf Ändern, um das Dialogfeld Datenquelle auswählen/wechseln zu öffnen. Klicken Sie auf Microsoft SQL Server und anschließend auf OK. Weitere Informationen finden Sie unter Dialogfeld "Datenquelle auswählen/wechseln".

  4. Klicken Sie in der Dropdownliste auf einen Servernamen, oder geben Sie den Namen des Servers ein, auf dem sich die Datenbank Northwind befindet.

  5. Klicken Sie je nach den Erfordernissen der Datenbank oder der Anwendung entweder auf Windows-Authentifizierung verwenden, oder verwenden Sie für die Anmeldung auf dem Computer mit SQL Server einen speziellen Benutzernamen und ein spezielles Kennwort (SQL Server-Authentifizierung). Weitere Informationen finden Sie unter Verbindung hinzufügen/ändern (Microsoft SQL Server).

  6. Klicken Sie in der Liste Wählen Sie einen Datenbanknamen aus, oder geben Sie ihn ein auf die Datenbank Northwind.

  7. Klicken Sie auf OK.

    Die Datenverbindung wird dem Server-Explorer/Datenbank-Explorer hinzugefügt.

Erstellen der gespeicherten Prozeduren

Erstellen Sie die gespeicherten Prozeduren mit den Visual Database Tools im Server-Explorer/Datenbank-Explorer.

So erstellen Sie die gespeicherten Prozeduren mithilfe eines SQL-Skripts

  1. Erweitern Sie im Server-Explorer/Datenbank-Explorer die Datenbank Northwind.

  2. Definieren Sie die gespeicherte Prozedur SelectCustomers, indem Sie die folgenden Aufgaben ausführen:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.

    2. Ersetzen Sie die Vorlage CREATE PROCEDURE durch folgenden Code:

      CREATE PROCEDURE dbo.[SelectCustomers]
      AS
          SET NOCOUNT ON;
      SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers
      
    3. Speichern Sie die Prozedur.

    4. Die gespeicherte Prozedur SelectCustomers wird der Datenbank Northwind hinzugefügt. Beachten Sie, dass sich die Prozedurdefinition von CREATE PROCEDURE in ALTER PROCEDURE ändert, wenn Sie sie speichern.

  3. Definieren Sie die gespeicherte Prozedur InsertCustomers, indem Sie die folgenden Aufgaben ausführen:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.

    2. Ersetzen Sie die Vorlage CREATE PROCEDURE durch folgenden Code:

      CREATE PROCEDURE dbo.InsertCustomers
      (
          @CustomerID nchar(5),
          @CompanyName nvarchar(40),
          @ContactName nvarchar(30),
          @ContactTitle nvarchar(30),
          @Address nvarchar(60),
          @City nvarchar(15),
          @Region nvarchar(15),
          @PostalCode nvarchar(10),
          @Country nvarchar(15),
          @Phone nvarchar(24),
          @Fax nvarchar(24)
      )
      AS
          SET NOCOUNT OFF;
      INSERT INTO [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax);
      
      SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)
      
    3. Speichern Sie die Prozedur.

    4. Die gespeicherte Prozedur InsertCustomers wird der Datenbank Northwind hinzugefügt. Beachten Sie, dass sich die Prozedurdefinition von CREATE PROCEDURE in ALTER PROCEDURE ändert, wenn Sie sie speichern.

  4. Definieren Sie die gespeicherte Prozedur UpdateCustomers, indem Sie die folgenden Aufgaben ausführen:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.

    2. Ersetzen Sie die Vorlage CREATE PROCEDURE durch folgenden Code:

      CREATE PROCEDURE dbo.UpdateCustomers
      (
          @CustomerID nchar(5),
          @CompanyName nvarchar(40),
          @ContactName nvarchar(30),
          @ContactTitle nvarchar(30),
          @Address nvarchar(60),
          @City nvarchar(15),
          @Region nvarchar(15),
          @PostalCode nvarchar(10),
          @Country nvarchar(15),
          @Phone nvarchar(24),
          @Fax nvarchar(24),
          @Original_CustomerID nchar(5)
      )
      AS
          SET NOCOUNT OFF;
      UPDATE [dbo].[Customers] SET [CustomerID] = @CustomerID, [CompanyName] = @CompanyName, [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [Address] = @Address, [City] = @City, [Region] = @Region, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone, [Fax] = @Fax WHERE (([CustomerID] = @Original_CustomerID));
      
      SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)
      
    3. Speichern Sie die Prozedur.

    4. Die gespeicherte Prozedur UpdateCustomers wird der Datenbank Northwind hinzugefügt. Beachten Sie, dass sich die Prozedurdefinition von CREATE PROCEDURE in ALTER PROCEDURE ändert, wenn Sie sie speichern.

  5. Definieren Sie die gespeicherte Prozedur DeleteCustomers, indem Sie die folgenden Aufgaben ausführen:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.

    2. Ersetzen Sie die Vorlage CREATE PROCEDURE durch folgenden Code:

      CREATE PROCEDURE dbo.DeleteCustomers
      (
          @Original_CustomerID nchar(5)
      )
      AS
          SET NOCOUNT OFF;
      DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID))
      
    3. Speichern Sie die Prozedur.

    4. Die gespeicherte Prozedur DeleteCustomers wird der Datenbank Northwind hinzugefügt. Beachten Sie, dass sich die Prozedurdefinition von CREATE PROCEDURE in ALTER PROCEDURE ändert, wenn Sie sie speichern.

Nächste Schritte

In den folgenden exemplarischen Vorgehensweisen wird die Verwendung der gespeicherten Prozeduren beschrieben, die Sie gerade erstellt haben:

Vorgehensweise: Zuweisen von gespeicherten Prozeduren zur Durchführung von Update-, Einfüge- und Löschvorgängen (O/R-Designer)

Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen (O/R-Designer)

Exemplarische Vorgehensweise: Anpassen des Einfüge-, Update- und Löschverhaltens von Entitätsklassen

Tipp

Wenn Sie diese exemplarische Vorgehensweise wiederholen möchten, müssen Sie zuerst die gespeicherten Prozeduren, die Sie definiert haben, löschen. Andernfalls wird der folgende Fehler angezeigt: In der Datenbank ist bereits ein Objekt mit dem Namen "Prozedurname" vorhanden.

Siehe auch

Weitere Ressourcen

Object Relational Designer (O/R-Designer)

LINQ to SQL

Zugreifen auf Daten in Visual Studio

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

April 2011

Fehler in den Schritten zum Erstellen der gespeicherten Prozeduren korrigiert.

Kundenfeedback.