Je suppose que vous voulez un comportement dynamique sur votre WHERE
clause, sans avoir à construire dynamiquement votre WHERE
clause.
Avec un seul paramètre, vous pouvez utiliser ISNULL
(ou COALESCE
) comme ceci :
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
qui autorise un NULL
paramètre pour correspondre à tous. Certains préfèrent le plus long mais le plus explicite :
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)