Spécification d'un nom de paramètre
Chaque paramètre d'une procédure stockée doit être défini avec un nom unique. Les noms de paramètres des procédures stockées doivent être précédés du caractère @, comme les variables Transact-SQL standard ; ils doivent d'autre part respecter les règles se rapportant aux identificateurs d'objets. Le nom du paramètre peut être utilisé dans la procédure stockée pour obtenir et modifier la valeur du paramètre.
Des valeurs peuvent être passées aux procédures stockées soit de façon explicite en nommant les paramètres et en leur donnant la valeur appropriée, soit en fournissant des valeurs aux paramètres dans l'instruction CREATE PROCEDURE sans les nommer. Par exemple, si la procédure stockée my_proc attend trois paramètres nommés @first, @second et @third, les valeurs qui lui sont transmises peuvent être assignées aux noms de paramètres de la façon suivante :
EXECUTE my_proc @second = 2, @first = 1, @third = 3;
ou selon leur position sans les nommer :
EXECUTE my_proc 1, 2, 3;
Vous pouvez spécifier les paramètres dans n'importe quel ordre si, pour exécuter une procédure stockée, vous les désignez par leur nom. Par contre, si vous ne les nommez pas, vous devez spécifier les paramètres dans l'ordre (de gauche à droite) où ils sont définis dans la procédure stockée. Vous devez, en outre, spécifier tous les paramètres précédant un paramètre donné, même s'ils sont facultatifs ou s'ils ont des valeurs par défaut. Par exemple, si les paramètres de my_proc sont tous facultatifs, vous pouvez exécuter my_proc en indiquant uniquement les valeurs des deux premiers paramètres, mais pas en vous contentant de spécifier seulement celles des deuxième et troisième paramètres. Cette règle est nécessaire pour que Microsoft SQL Server soit en mesure d'identifier les paramètres spécifiés.
Voir aussi