我想使用MERGE
语句更新 SCD-2 表。所以我有:
MERGE TARGET as t
USING SOURCE as s
ON s.KEY = t.KEY
情况1:
WHEN MATCHED and s.CHECKSUM <> t.CHECKSUM
在这种情况下,我希望TARGET 中的第一行 和SOURCE 中的第二行到 TARGETUPDATE
set row_actual_to = getdate()
INSERT
案例二:
WHEN NOT MATCHED
只是INSERT
新行
如何在一个声明中做到这一点?
在案例 1UPDATE
中列出两者都会导致错误:MERGE 语句必须以分号 (;) 终止。INSERT