Создание хранимой процедуры
В этом разделе описывается, как можно создать хранимую процедуру Transact-SQL в среде Среда SQL Server Management Studio с использованием инструкции Transact-SQL CREATE PROCEDURE.
Перед началом работы выполните следующие действия. Разрешения
Создание хранимой процедуры с использованием: SQL Server Management Studio, Transact-SQL
Разрешения
Для выполнения этой инструкции требуется разрешение CREATE PROCEDURE в отношении базы данных и разрешение ALTER в отношении схемы, в которой создается процедура.
Создание хранимой процедуры
Можно использовать одно из следующего.
Среда SQL Server Management Studio
Transact-SQL
Использование среды SQL Server Management Studio
Создание процедуры в обозревателе объектов
В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine и разверните его.
Последовательно разверните узел Базы данных, базу данных AdventureWorks2012 и узел Программирование.
Щелкните правой кнопкой мыши элемент Хранимые процедуры и выберите пункт Создать хранимую процедуру.
В меню Запрос выберите пункт Задание значений для параметров шаблона.
В диалоговом окне Задание значений для параметров шаблона введите для показанных параметров следующие значения.
Параметр
Значение
Автор
Your name
Дата создания
Today's date
Описание
Возвращает данные о сотрудниках.
Procedure_name
HumanResources.uspGetEmployeesTest
@Param1
@LastName
@Datatype_For_Param1
nvarchar(50)
Default_Value_For_Param1
NULL
@Param2
@FirstName
@Datatype_For_Param2
nvarchar(50)
Default_Value_For_Param2
NULL
Нажмите кнопку ОК.
В редакторе запросов замените инструкцию 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
Создание процедуры в редакторе запросов
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
Выберите в меню Файл пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В данном примере создается та же хранимая процедура, что и раньше, но с другим именем процедуры.
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
[В начало]