Можем ли мы запустить MERGE Statements, если исходная и целевая базы данных находятся на разных серверах - PullRequest
3 голосов
/ 05 декабря 2011

Название вопроса.Будет очень полезно, если кто-то также может указать на ссылку, если это вообще возможно.

А также, можем ли мы использовать CTE в операторе слияния?Или нам нужно подумать об альтернативе, такой как временная таблица или табличная переменная?

1 Ответ

8 голосов
/ 05 декабря 2011

Целью слияния не может быть удаленная таблица, но источником может быть.И вы можете использовать CTE в операторе merge .

Вы можете сделать что-то вроде этого:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...