sql >> Base de Datos >  >> RDS >> Sqlserver

Parámetros de procedimientos almacenados de SQL Server

SQL Server no le permite pasar parámetros a un procedimiento que no ha definido. Creo que lo más cerca que puedes llegar a este tipo de diseño es usar parámetros opcionales como estos:

CREATE PROCEDURE GetTaskEvents
    @TaskName varchar(50),
    @ID int = NULL
AS
BEGIN
-- SP Logic
END;

Debería incluir todos los parámetros posibles que podría usar en la definición. Entonces sería libre de llamar al procedimiento de cualquier manera:

EXEC GetTaskEvents @TaskName = 'TESTTASK', @ID = 2;
EXEC GetTaskEvents @TaskName = 'TESTTASK'; -- @ID gets NULL here