Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как создать хранимую процедуру Transact-SQL с помощью SQL Server Management Studio и с помощью инструкции Transact-SQL CREATE PROCEDURE.
Перед началом работы:Permissions
Создание процедуры с помощью:SQL Server Management Studio, Transact-SQL
Разрешения
Для выполнения этой инструкции требуется разрешение CREATE PROCEDURE в отношении базы данных и разрешение ALTER в отношении схемы, в которой создается процедура.
Создание хранимой процедуры
Можно использовать один из следующих способов:
Использование среды SQL Server Management Studio
Создание процедуры в обозревателе объектов
В обозреватель объектов подключитесь к экземпляру ядро СУБД, а затем разверните этот экземпляр.
Разверните базы данных, разверните базу данных AdventureWorks2012 и разверните программу.
Щелкните правой кнопкой мыши элемент Хранимые процедурыи выберите пункт Создать хранимую процедуру.
В меню Запрос выберите пункт Указать значения для параметров шаблона.
В диалоговом окне Задание значений для параметров шаблона введите для показанных параметров следующие значения.
Параметр Значение Автор Ваше имя Дата создания Сегодняшняя дата Описание Возвращает данные о сотрудниках. Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar
(50)Default_Value_For_Param1 Отсутствует @Param2 @FirstName @Datatype_For_Param2 nvarchar
(50)Default_Value_For_Param2 Отсутствует Щелкните OK.
В редакторе запросовзамените инструкцию SELECT следующей инструкцией:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
Для проверки синтаксиса выберите пункт Выполнить анализ в меню Запрос. Если возвращается сообщение об ошибке, сравните инструкции с приведенными выше и при необходимости внесите исправления.
Чтобы создать процедуру, в меню Запрос выберите пункт Выполнить. Процедура создается как объект в базе данных.
Чтобы увидеть процедуру в обозревателе объектов, щелкните правой кнопкой мыши элемент Хранимые процедуры и выберите пункт Обновить.
Чтобы выполнить процедуру, в обозревателе объектов щелкните правой кнопкой мыши имя хранимой процедуры HumanResources.uspGetEmployeesTest и выберите пункт Выполнение хранимой процедуры.
В окне Выполнение процедуры введите Margheim в качестве значения для параметра @LastName и Diane в качестве значения для параметра @FirstName.
Предупреждение
Проверяйте все данные, вводимые пользователем. Не включайте их в сценарий, не выполнив проверку. Никогда не выполняйте команду, построенную на основании непроверенных пользовательских входных данных.
Использование Transact-SQL
Создание процедуры в редакторе запросов
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
В меню Файл выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В данном примере создается та же хранимая процедура, что и раньше, но с другим именем процедуры.
USE AdventureWorks2012; GO CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 @LastName nvarchar(50), @FirstName nvarchar(50) AS SET NOCOUNT ON; SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; GO
Чтобы выполнить процедуру, скопируйте следующий пример в окно создаваемого запроса и нажмите кнопку Выполнить. Показаны различные методы задания значений параметров.
EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar'; -- Or EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar'; GO -- Or EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman'; GO