вставить в таблицу с помощью openquery, указав, к каким строкам присоединять новые данные - PullRequest
0 голосов
/ 23 января 2020

Я использую SQL Server 2014.

Я пытаюсь обновить созданную мной таблицу, в которой есть столбец первичного ключа с именем pol_pk. Все данные в таблице заполнены, около 60 000 записей, за исключением 1 столбца, в котором еще нет данных, который мы можем назвать emptycolumn.

Мне нужно заполнить пустой столбец данными из связанных сервер. Две таблицы имеют общий ключ на pol_pk

Я пробовал:

insert into table1 (emptycolumn)
select * from openquery(linkedserver,'
select pol_pk, emptycolumn
from linkedservertable
with ur') a
where a.pol_pk = table1.pol_pk 

, но это не сработает.

Я подумал, что мог бы просто запустить обычный подзапрос и вставить результаты этого в временную таблицу, а затем выбрать из временной таблицы, например:

insert into #temp1(pol_pk int, emptycolumn char(2))
select * from openquery(linkedserver,'
select pol_pk, emptycolumn
from linkedservertable
with ur')

insert into table1(emptycolumn)
select emptycolumn from #temp1 a
where a.pol_pk = table1.pol_pk

Я не пробовал это раньше, и я не уверен, что это правильные методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...