Especificando um nome de parâmetro

Cada parâmetro de procedimento armazenado deve ser definido com um nome exclusivo. Nomes de parâmetros de procedimento armazenado sempre devem começar com um caractere @, como em uma variável padrão Transact-SQL e devem seguir as regras para identificadores de objetos. O nome de parâmetro pode ser usado no procedimento armazenado para obter e alterar o valor do parâmetro.

Valores podem ser passados a procedimentos armazenados ao nomear explicitamente os parâmetros e atribuir o valor adequado ou ao fornecer os valores de parâmetro dados na instrução CREATE PROCEDURE sem nomeá-los. Por exemplo, se o procedimento armazenado my_proc espera três parâmetros com os nomes @first, @second e @third, os valores passados ao procedimento armazenado podem ser atribuídos aos nomes de parâmetros, como:

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

Ou por posição sem nomeá-los:

EXECUTE my_proc 1, 2, 3;

Nomear os parâmetros ao executar o procedimento armazenado permite que os parâmetros sejam fornecidos em qualquer ordem. Se os parâmetros não forem nomeados, eles deverão ser fornecidos na mesma ordem (da esquerda para a direita) em que foram definidos no procedimento armazenado. Além disso, todos os parâmetros que precedem um determinado parâmetro devem ser fornecidos, mesmo que sejam opcionais e tenham valores padrão. Por exemplo, se os parâmetros de my_proc forem todos opcionais, my_proc pode ser executado ao fornecer valores apenas para o primeiro e o segundo parâmetros, mas não ao fornecer valores apenas para o segundo e o terceiro parâmetros. Isso é necessário porque, caso contrário, o Microsoft SQL Server não pode identificar os parâmetros que estão sendo especificados.