Freigeben über


Exemplarische Vorgehensweise: Erstellen von gespeicherten Prozeduren zum Aktualisieren der Northwind-Kundentabelle

Aktualisiert: November 2007

Für einige Hilfethemen in der Visual Studio-Dokumentation werden zusätzliche gespeicherte Prozeduren in der Beispieldatenbank Northwind benötigt, um Daten in der Tabelle Customers aktualisieren zu können (Einfügungen, Aktualisierungen und Löschvorgänge).

Diese exemplarische Vorgehensweise enthält Anweisungen zum Erstellen dieser zusätzlichen gespeicherten Prozeduren in den Northwind-Beispieldatenbanken für SQL Server.

Der Abschnitt "Nächste Schritte" weiter unten in diesem Thema enthält Links zu Themen, in denen die Verwendung dieser zusätzlichen gespeicherten Prozeduren erläutert wird.

In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie die folgenden Aufgaben ausführen:

  • Erstellen Sie eine Datenverbindung mit der Beispieldatenbank Northwind.

  • Erstellen Sie die gespeicherten Prozeduren.

Vorbereitungsmaßnahmen

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

Verbinden mit der Datenbank Northwind

Diese exemplarische Vorgehensweise erfordert eine Verbindung mit der SQL Server-Version der Northwind-Datenbank. Die folgende Vorgehensweise enthält Anweisungen zum Erstellen der Datenverbindung.

Hinweis:

Wenn bereits eine Verbindung mit der Datenbank Northwind besteht, 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 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, indem Sie mithilfe der Visual Database Tools im Server-Explorer/Datenbank-Explorer das vorhandene SQL-Skript in der Datenbank Northwind ausführen.

So erstellen Sie die gespeicherten Prozeduren mithilfe eines SQL-Skripts

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

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

  3. Ersetzen Sie die CREATE PROCEDURE-Vorlage, indem Sie im Code-Editor folgenden Code einfügen:

    IF EXISTS (SELECT * FROM sysobjects WHERE name = 'SelectCustomers' AND user_name(uid) = 'dbo')
        DROP PROCEDURE dbo.[SelectCustomers]
    GO
    
    CREATE PROCEDURE dbo.[SelectCustomers]
    AS
        SET NOCOUNT ON;
    SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers
    GO
    
    IF EXISTS (SELECT * FROM sysobjects WHERE name = 'InsertCustomers' AND user_name(uid) = 'dbo')
        DROP PROCEDURE dbo.InsertCustomers
    GO
    
    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)
    GO
    
    IF EXISTS (SELECT * FROM sysobjects WHERE name = 'UpdateCustomers' AND user_name(uid) = 'dbo')
        DROP PROCEDURE dbo.UpdateCustomers
    GO
    
    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)
    GO
    
    IF EXISTS (SELECT * FROM sysobjects WHERE name = 'DeleteCustomers' AND user_name(uid) = 'dbo')
        DROP PROCEDURE dbo.DeleteCustomers
    GO
    
    CREATE PROCEDURE dbo.DeleteCustomers
    (
        @Original_CustomerID nchar(5)
    )
    AS
        SET NOCOUNT OFF;
    DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID))
    GO
    
  4. Wählen Sie im Code-Editor den gesamten Text aus, klicken Sie mit der rechten Maustaste auf den markierten Text, und klicken Sie auf Auswahl ausführen.

    Die gespeicherten Prozeduren SelectCustomers, InsertCustomers, UpdateCustomers und DeleteCustomers werden für die Datenbank Northwind erstellt.

Nächste Schritte

Nachdem Sie die gespeicherten Prozeduren erstellt haben, rufen Sie die folgenden exemplarischen Vorgehensweisen auf, in denen die Verwendung der Prozeduren dargestellt wird:

Gewusst wie: Zuweisen von gespeicherten Prozeduren zur Durchführung von Aktualisierungs-, 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-, Aktualisierungs- und Löschverhaltens von Entitätsklassen

Siehe auch

Weitere Ressourcen

Object Relational Designer (O/R-Designer)

LINQ to SQL

Zugreifen auf Daten (Visual Studio)