Поделиться через


Пошаговое руководство. Создание хранимых процедур обновления данных для таблицы Customers базы данных Northwind

В некоторых разделах справки в документации по Visual Studio требуется использование дополнительных хранимых процедур в учебной базе данных "Борей" для выполнения обновлений (вставки, обновления и удаления) данных в таблице "Клиенты".

В данном пошаговом руководстве приведены указания по созданию таких дополнительных хранимых процедур в учебных базах данных "Борей" для SQL Server.

В подразделе "Следующие шаги" данного раздела приведены ссылки на разделы, где описываются принципы работы с этими дополнительными хранимыми процедурами.

В рамках данного пошагового руководства вы узнаете, как выполнять следующие задачи.

  • Создание подключения к данным для учебной базы данных "Борей".

  • Создание хранимых процедур.

Обязательные компоненты

Для выполнения данного пошагового руководства требуется:

Подключение к базе данных "Борей"

В рамках данного пошагового руководства требуется подключение к версии SQL Server базы данных "Борей". В описании следующей процедуры приведены указания по созданию нужного подключения к данным.

Примечание

Если вы уже установили подключение к данным для базы данных "Борей", можете перейти к следующему подразделу "Создание хранимых процедур".

Создание подключения к данным для базы данных "Борей" SQL Server

  1. В меню Вид выберите Обозреватель серверов/Обозреватель баз данных.

  2. Щелкните правой кнопкой мыши элемент Подключения данных и выберите пункт Добавить подключение.

  3. В диалоговом окне Выбор источника данных выберите Microsoft SQL Server и нажмите кнопку ОК.

    Если отображается диалоговое окно Добавить подключение, а Источник данных отличается от Microsoft SQL Server (SqlClient), щелкните элемент Изменить, чтобы открыть диалоговое окно Выбор источника данных/Сменить источник данных, выберите Microsoft SQL Server и нажмите кнопку ОК.

  4. Щелкните Имя сервера в раскрывающемся списке или введите имя сервера, на котором расположена база данных "Борей".

  5. В зависимости от требований базы данных или приложения либо щелкните Использовать аутентификацию Windows, либо используйте определенное имя пользователя и определенный пароль для входа на компьютер с запущенной системой SQL Server (Аутентификация SQL Server).

  6. Щелкните базу данных "Борей" в списке Выберите или введите имя базы данных.

  7. Нажмите кнопку ОК.

    Подключение к данным добавляется в Обозреватель серверов/Обозреватель баз данных.

Создание хранимых процедур

Создайте хранимые процедуры, запустив предложенный скрипт SQL для базы данных "Борей", для этого используйте Визуальные инструменты для баз данных, доступные в Обозревателе серверов/Обозревателе баз данных.

Создание хранимых процедур с помощью скрипта SQL

  1. Разверните базу данных "Борей" в Обозревателе серверов/Обозревателе баз данных.

  2. Щелкните узел Хранимые процедуры правой кнопкой мыши и выберите пункт Добавить новую хранимую процедуру.

  3. Вставьте следующий код в редактор кода, заменив шаблон CREATE PROCEDURE:

    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. Выберите весь текст в редакторе кода, щелкните выбранный текст правой кнопкой мыши и выберите пункт Выполнить выбранное.

    Для базы данных "Борей" создаются хранимые процедуры SelectCustomers, InsertCustomers, UpdateCustomers и DeleteCustomers.

Следующие действия

Для изучения принципов работы с хранимыми процедурами после их создания обратитесь к следующим пошаговым руководствам:

Как назначить хранимые процедуры для выполнения обновлений, вставок и удалений (реляционный конструктор объектов)

Пошаговое руководство. Создание классов LINQ to SQL (реляционный конструктор объектов)

Пошаговое руководство. Настройка операций вставки, обновления и удаления в классах сущностей

См. также

Другие ресурсы

Реляционный конструктор объектов

LINQ to SQL [LINQ to SQL]

Доступ к данным в Visual Studio