我正在向表添加外键,并删除任何违反FK的行,然后将它们复制到ModifiedTable_invalid表中。作为脚本的一部分,我具有以下MERGE命令:
MERGE ModifiedTable t1
USING TargetTable tt
ON t1.JoinColumn = tt.JoinColumn
WHEN MATCHED THEN
UPDATE SET t1.FkColumn = tt.FkSource
WHEN NOT MATCHED BY SOURCE THEN DELETE
OUTPUT DELETED.* INTO ModifiedTable_invalid;
但是,此命令似乎是将ModifiedTable中的每一行插入到ModifiedTable_invalid中,而不仅仅是由MERGE命令删除的行。这是怎么回事,以及如何将其删除的行仅放入ModifiedTable_invalid中?
DELETED.*
?