我正在查看一个合并脚本,并注意到如果source.column与target.column不同,该脚本会更新。
我不明白为什么他们要进行两次检查,一次检查source.column是否不同于target.column,然后又一次检查target.column是否不同于source.column。 / p>
将目标与源进行比较的第二个NULLIF对我来说似乎是多余的...
有人知道是否有这个原因吗?
WHEN MATCHED AND (
NULLIF(Source.[code], Target.[code]) IS NOT NULL OR NULLIF(Target.[code], Source.[code]) IS NOT NULL OR
NULLIF(Source.[descE], Target.[descE]) IS NOT NULL OR NULLIF(Target.[descE], Source.[descE]) IS NOT NULL THEN
UPDATE SET
[code] = Source.[code],
[descE] = Source.[descE]
脚本可以工作,但是我想我可以每隔一秒钟删除NULLIF,脚本仍然可以工作吗?
答案 0 :(得分:0)
对于我的价值,我同意你的看法。如果遇到这种情况,我将在某些测试数据库上运行合并脚本,并删除第二和第四个nullif(),以确保在进行更改之前可以收到预期的结果。