我试图通过使用INSERT
和UPDATE
而不是使用MERGE来实现SCD2。我需要从我的源表插入新的行到我的目标表,如果id不存在,同时确保列行compositekey
不为空而不崩溃插入。当我运行select查询时,我得到了这个结果:
输出:
这取决于TARGET表的内容。如果"compositekey为null"的值不为True,因此INSERT将插入具有NULL值的compositekey。
试着这样做(Where应该在TARGET表中使用UNIQUE列):
插入目标SELECT s.ID, s.namn, s.hash, s.compositekey来源5where (s.ID, s.compositekey) NOT IN(select id, compositekey from target)
;