我应该在这里合并吗?

Should I do merge here?

我有一些不同的项目应该复制到不同的组织。我已经用 merge 语句完成了这个。有一次项目不存在时我工作正常,但下次它应该更新时它会在每个组织中创建新项目。

merge items as target
using
   (
   select items.name, items.value, items.org
   from Items
   ) as source
on (target.items.name = source.items.name and 
    target.items.value = '50')
when matched then
   update set target.items.name = source.items.name
when not matched by target then
Insert(...)
Values(...);

我想这与下次条件不符合条件和创建新项目有关,但我不明白为什么..

也许只做简单的插入会更好?

Items from one organization should update items in another organization.

合并语句不支持更新"other rows"。从概念上讲,它是逐行操作的。源和目标被连接(完全外部连接),对于每个连接结果,您可以决定发生的一个动作。对于更新和删除,该操作发生在加入的目标 table 行上。

您需要使用多个语句。