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

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

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

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

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

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

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

Примечание

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

Чтобы создать подключение к базе данных "Борей" для 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. Выберите базу данных Northwind в списке Выберите или введите имя базы данных.

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

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

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

Создайте хранимые процедуры с помощью Визуальные инструменты для баз данных в обозревателе серверов или обозревателе базы данных.

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

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

  2. Определите хранимую процедуру SelectCustomers, выполнив следующие действия.

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

    2. Замените шаблон CREATE PROCEDURE следующим.

      CREATE PROCEDURE dbo.[SelectCustomers]
      AS
          SET NOCOUNT ON;
      SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers
      
    3. Сохраните процедуру.

    4. Хранимая процедура SelectCustomers будет добавлена в базу данных Northwind. Обратите внимание, что при сохранении определение процедуры изменяется с CREATE PROCEDURE на ALTER PROCEDURE.

  3. Определите хранимую процедуру InsertCustomers, выполнив следующие действия.

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

    2. Замените шаблон CREATE PROCEDURE следующим кодом.

      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. Сохраните процедуру.

    4. Хранимая процедура InsertCustomers будет добавлена в базу данных Northwind. Обратите внимание, что при сохранении определение процедуры изменяется с CREATE PROCEDURE на ALTER PROCEDURE.

  4. Определите хранимую процедуру UpdateCustomers, выполнив следующие действия.

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

    2. Замените шаблон CREATE PROCEDURE следующим кодом.

      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. Сохраните процедуру.

    4. Хранимая процедура UpdateCustomers будет добавлена в базу данных Northwind. Обратите внимание, что при сохранении определение процедуры изменяется с CREATE PROCEDURE на ALTER PROCEDURE.

  5. Определите хранимую процедуру DeleteCustomers, выполнив следующие действия.

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

    2. Замените шаблон CREATE PROCEDURE следующим кодом.

      CREATE PROCEDURE dbo.DeleteCustomers
      (
          @Original_CustomerID nchar(5)
      )
      AS
          SET NOCOUNT OFF;
      DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID))
      
    3. Сохраните процедуру.

    4. Хранимая процедура DeleteCustomers будет добавлена в базу данных Northwind. Обратите внимание, что при сохранении определение процедуры изменяется с CREATE PROCEDURE на ALTER PROCEDURE.

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

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

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

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

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

Примечание

Если требуется повторить процедуру создания, сначала следует удалить хранимые процедуры, определенные ранее.В противном случае возникнет ошибка: "В базе данных уже есть объект с именем "ProcedureName".

См. также

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

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

LINQ to SQL

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

Журнал изменений

Дата

Журнал

Причина

Апрель 2011

Исправлены ошибки в руководстве по созданию хранимых процедур.

Обратная связь от клиента.