Указание имени аргумента

Каждый аргумент хранимой процедуры должен иметь уникальное имя. Имена параметров хранимых процедур, как и стандартные переменные Transact-SQL, должны начинаться с символа «@» и соответствовать правилам построения идентификаторов объектов. Имя аргумента можно использовать в хранимых процедурах, чтобы получить или изменить значение аргумента.

Значения в хранимую процедуру можно передать двумя способами: либо явным именованием аргументов с присвоением им значений, либо непосредственным размещением значений аргументов, содержащихся в инструкции CREATE PROCEDURE без указания их имен. Например, если в хранимой процедуре my_proc ожидается три аргумента с именами @first, @second и @third, то передаваемые в хранимую процедуру значения могут быть присвоены именам аргументов таким образом:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

Или можно разместить значения аргументов, не указывая имена аргументов:

EXECUTE my_proc 1, 2, 3;

Если в выполняемой хранимой процедуре указываются имена аргументов, то аргументы могут быть перечислены в любом порядке. Если имена аргументов опущены, то порядок аргументов (слева направо) должен совпадать с порядком аргументов при определении хранимой процедуры. Кроме того, необходимо передавать все аргументы, предшествующие данному, даже если они являются необязательными и принимают значения по умолчанию. Например, если в хранимой процедуре my_proc все аргументы необязательные, то процедура my_proc может быть выполнена, если указаны значения только для первого и второго аргумента, но неверно указывать значения только для второго и третьего аргумента. Это необходимо, потому что иначе Microsoft SQL Server 2005 не может идентифицировать указанные аргументы.

См. также

Основные понятия

Идентификаторы
Типы данных параметров
Указание значения параметра по умолчанию
Указание направления параметра

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

EXECUTE (Transact-SQL)
Указание параметров

Справка и поддержка

Получение помощи по SQL Server 2005