T-Procédure Stockée SQL NULL valeurs d'entrée de cause instruction select à l'échec

Ci-dessous est une procédure stockée pour vérifier si il y a un doublon dans la base de données fondée sur la vérification de tous les champs individuellement (ne me demandez pas pourquoi je devrais le faire, il a juste à être de cette façon).

Il sonne parfaitement simple, mais le PS échoue.
Le problème est que certains paramètres passés à la SP peut avoir une valeur nulle et, par conséquent, le sql, il faudrait lire "est null" plutôt que "= null".
J'ai essayé la fonction isnull(),cas des déclarations se fondent() et sql dynamique avec exec() et sp_executesql et a échoué à mettre en œuvre l'un de ces. Voici le code...

CREATE PROCEDURE sp_myDuplicateCheck
 @userId int,
 @noteType char(1),
 @aCode char(3),
 @bCode char(3), 
 @cCode char(3),
 @outDuplicateFound int OUT
AS
BEGIN
SET @outDuplicateFound = (SELECT Top 1 id FROM codeTable 
                          WHERE userId = @userId
                          AND noteType = @noteType
                          AND aCode = @aCode
                          AND bCode = @bCode
                          AND cCode = @cCode 
                          )
-- Now set the duplicate output flag to a 1 or a 0
IF (@outDuplicateFound IS NULL) OR (@outDuplicateFound = '') OR (@outDuplicateFound = 0)
 SET @outDuplicateFound = 0
ELSE 
 SET @outDuplicateFound = 1
END
InformationsquelleAutor | 2008-12-19