@return_count
actuellement une procédure stockée à laquelle @return_count
est un paramètre. Voici un exemple autonome des deux façons dont je peux définir sa valeur si une NULL
est transmise.
Impossible de déterminer si l'optimiseur de requête les traite de la même manière ou si une méthode est meilleure que l'autre.
DECLARE @return_count int SET @return_count = null IF @return_count is null BEGIN SELECT @return_count = 10 END GO DECLARE @return_count int SET @return_count = null BEGIN SELECT @return_count = 10 WHERE @return_count is null END
Vous pourriez vouloir considérer
SELECT @return_count = ISNULL(@return_count, 10)
Ils renvoient des plans exec différents, et le premier est considérablement less complexe. Ce dernier implique des opérations de filtrage et d'parsing. Comme il ne semble pas que cela doive évoluer, j'irais avec le premier.
Il semble que votre procédure stockée peut prendre un paramètre optionnel @return_count. Si tel est le cas, vous pouvez l'exprimer directement comme
CREATE PROCEDURE myStoredProc @return_count int = 10 AS BEGIN .... my logic END