5

任何人都知道为什么 sql server 会阻止从 MERGE 语句的 WHEN MATCHED 子句中插入?我知道文档只允许更新或删除,我想知道为什么会这样,这样我才能更好地理解合并。

看看这篇文章的例子。

4

4 回答 4

2

如果您尝试将源合并到目标,那么如果在目标中找到它,则插入一行是没有意义的。您可能想要更新或删除它。插入已经存在的内容会创建重复项。

于 2013-07-05T18:27:02.617 回答
1

由于您想在找到 MATCH 时插入,我假设满足 ON 子句的条件但另一个字段不同。考虑将此字段包含在带有 AND 的 ON 子句中,以区分当前行和要插入的行。

于 2013-07-05T18:47:51.957 回答
0

如果我想跟踪历史,我认为情况可能是这样。例如电话字段;在你换电话之前,我想看看电话是什么。

于 2014-04-22T12:16:04.790 回答
0

常识说:如果你已经有它(记录),你为什么要再次插入它?更不用说通常“匹配”在非重复键上。如果您能够找到需要再次插入匹配记录的情况,请告知我们以帮助您。

于 2013-12-03T16:20:22.990 回答