Compartilhar via


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 MicrosoftSQL Server não pode identificar os parâmetros que estão sendo especificados.