标题是问题。如果有人可以指向一个链接,如果可能的话,将会非常有帮助。
而且,我们可以在Merge语句中使用CTE吗?或者我们需要考虑像临时表或表变量这样的替代方法吗?
答案 0 :(得分:8)
合并的目标不能是远程表,但源可以是。您可以在merge语句中使用CTE。
您可以这样做:
with S as
(
select ID,
Name
from ServerName.DBName.dbo.TableName
)
merge LocalTable as T
using S
on T.ID = S.ID
when not matched then
insert (ID, Name) values(S.UnitID, S.Name);