После того как процедура была создана, ее можно запускать.
В SQL Server в распоряжении пользователя имеются два способа выполнения хранимой процедуры:
- указание только имени процедуры;
- использование команды EXECUTE.
Первый вариант используется, когда вызов хранимой процедуры является единственной командой передаваемого на исполнение пакета. Однако когда вызов хранимой процедуры не является единственной командой в пакете, то требуется обязательное указание команды EXECUTE. Более того, указание этой команды требуется и при вызове процедуры из тела другой процедуры.
Упрощенный синтаксис команды EXECUTE следующий:
EXEC procedure_name
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ] [ ,...n ].
Указывая ключевое слово OUTPUT, вы тем самым предписываете присвоить соответствующей локальной переменной (внешней по отношению к процедуре) при завершении хранимой процедуры значение соответствующего параметра. Отметим, что значения параметров могут свободно изменяться в ходе работы процедуры. Использование слова OUTPUT при вызове процедуры разрешается только для параметров, которые были объявлены при создании процедуры с ключевым словом OUTPUT.
Когда при вызове процедуры для параметра указывается ключевое слово DEFAULT, то для этого параметра будет использовано значение по умолчанию. Естественно, указание слова DEFAULT разрешается только для тех параметров, для которых определено значение по умолчанию.
Рассмотрим примеры:
Пример 9.
Для выполнения процедуры из первого примера:
EXECUTE SimpleMine1
Точно также и в примере 5, процедура SimpleMine2.
Пример 10.
Чтобы выполнить процедуру SimpleMine3 введите:
EXECUTE SimpleMine3 ‘Вася’
Пример 11.
DECLARE @myOutput char(6)
EXECUTE SimpleMine4 @myOutput OUTPUT
SELECT @myOutput.