33

NOT MATCHED BY SOURCE vs 和有什么不一样NOT MATCHED BY TARGET

例如:

是否WHEN NOT MATCHED BY SOURCE意味着记录存在于目标中但不存在于源中?- 所以我们可以删除它们?

WHEN NOT MATCHED BY TARGET- 意味着记录存在于源中但不存在于目标中?所以我们可以插入它们?

4

2 回答 2

51

WHEN NOT MATCHED BY TARGET - 您应该使用此子句将新行插入到目标表中。您插入到表中的行是源表中目标中没有匹配行的那些行。

WHEN NOT MATCHED BY SOURCE - 如果要从目标表中删除与源表中的行不匹配的行

于 2017-05-01T21:08:01.140 回答
2

请谨慎使用,因为您可能需要进一步限定WHEN NOT MATCHED BY SOURCE.

例如,如果TARGET表有一个SOURCE不存在的列 .. 并且您在上述插入 .. 期间设置了该目标列,那么您可能需要定义该约束:

WHEN NOT MATCHED BY SOURCE AND (TARGET.SomeColumn = yada)

于 2021-02-09T23:37:07.050 回答