我应该在这里合并吗?
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 行上。
您需要使用多个语句。
我有一些不同的项目应该复制到不同的组织。我已经用 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 行上。
您需要使用多个语句。