Compartir a través de


Especificar un nombre de parámetro

Cada parámetro de un procedimiento almacenado debe definirse con un nombre único. Los nombres de los procedimientos almacenados deben empezar por un solo carácter @, como una variable estándar de Transact-SQL, y deben seguir las reglas definidas para los identificadores de objetos. El nombre del parámetro se puede utilizar en el procedimiento almacenado para obtener y cambiar el valor del parámetro.

Es posible pasar valores a los procedimientos almacenados de dos maneras: asignando un nombre explícitamente a los parámetros y asignando el valor apropiado, o bien suministrando los valores del parámetro especificados en la instrucción CREATE PROCEDURE sin asignarles un nombre. Por ejemplo, si el procedimiento almacenado my_proc espera tres parámetros llamados @first, @second y @third, los valores pasados al procedimiento almacenado pueden asignarse a los nombres de los parámetros; por ejemplo:

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

O bien por su posición, sin asignarles ningún nombre:

EXECUTE my_proc 1, 2, 3;

Si se asigna un nombre a los parámetros cuando se ejecuta el procedimiento almacenado, es posible especificarlos en cualquier orden. Si no se asigna ningún nombre a los parámetros, deben especificarse en el mismo orden (de izquierda a derecha) en el que están definidos en el procedimiento almacenado. Además, todos los parámetros que precedan a un parámetro determinado deberán especificarse aunque sean opcionales y tengan valores predeterminados. Por ejemplo, si todos los parámetros de my_proc son opcionales, se podría ejecutar my_proc mediante la especificación de los valores correspondientes a los dos primeros parámetros, pero no a los del segundo y tercer parámetros solamente. Esto es necesario, ya que en caso contrario, MicrosoftSQL Server no puede identificar los parámetros que se especifican.