Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Paramètres de procédure stockée SQL Server

SQL Server ne vous permet pas de passer des paramètres à une procédure que vous n'avez pas définie. Je pense que le plus proche de ce type de conception est d'utiliser des paramètres optionnels comme ceci :

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

Vous devrez inclure tous les paramètres possibles que vous pourriez utiliser dans la définition. Ensuite, vous seriez libre d'appeler la procédure dans les deux sens :

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