[SQL 2000] Comparaison avec NULL
Bonjour
Pour alimenter une table qui est en réplication j'utilise une procedure stockée qui me fait les INSERT, UPDATE et DELETE ... obligatoire pour ne pas modifier tous les enregistrements ...
Ceci se fait en comprant la table d'arrivée avec une vue ...
Dans ma comparaison, il m'arrive (souvent) de me retrouver avec des enregistrements contenant NULL. Donc cela ne fonctionne pas ...
Quelqu'un connaîtrai-t-il la solution ? C'est surement super simple ... mais bon ...
Voici un exemple de code ... tout se passe sur l'update ... avec le (V.TAB_NOM <> T.LBTABT)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| ----------------------------------------------------------------------------------
-- INSERT --
----------------------------------------------------------------------------------
INSERT INTO tblGroupement (TAB_CDTAB, TAB_NOM, CreatedOn, CreatedBy)
SELECT T.CDARGT, T.LBTABT, Getdate() as CreatedOn, 'GER42' as CreatedBy
FROM VW_TBL_GROUPEMENT T LEFT OUTER JOIN tblGroupement V ON (T.CDARGT = V.TAB_CDTAB)
WHERE (V.TAB_CDTAB IS NULL)
INSERT INTO TBL_LOG_JASMINE ([Table], [Action], [Nombre])
VALUES ('TBLGROUPEMENT', 'INSERT', @@ROWCOUNT)
----------------------------------------------------------------------------------
-- UPDATE --
----------------------------------------------------------------------------------
UPDATE V
SET TAB_NOM= T.LBTABT,
ModifiedOn = Getdate(),
ModifiedBy = 'GER42'
FROM VW_TBL_GROUPEMENT T INNER JOIN tblGroupement V ON (T.CDARGT = V.TAB_CDTAB) AND
(V.TAB_NOM <> T.LBTABT)
INSERT INTO TBL_LOG_JASMINE ([Table], [Action], [Nombre])
VALUES ('TBLGROUPEMENT', 'UPDATE', @@ROWCOUNT)
----------------------------------------------------------------------------------
-- DELETE --
----------------------------------------------------------------------------------
DELETE V
FROM VW_TBL_GROUPEMENT T RIGHT OUTER JOIN tblGroupement V ON (T.CDARGT = V.TAB_CDTAB)
WHERE (T.LBTABT IS NULL)
INSERT INTO TBL_LOG_JASMINE ([Table], [Action], [Nombre])
VALUES ('TBLGROUPEMENT', 'DELETE', @@ROWCOUNT) |