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


Пошаговое руководство. Создание хранимых процедур обновления данных для таблицы "Заказчики" базы данных "Борей"

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

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

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

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

Bb384469.alert_note(ru-ru,VS.90).gifПримечание.

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

Чтобы создать подключение к базе данных "Борей" для SQL Server

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

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

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

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

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

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

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

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

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

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

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

Для создания хранимых процедур с помощью сценария 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

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