SQL-запрос для экспорта значений строк из одной базы данных SQL Server в другую - PullRequest
2 голосов
/ 30 июня 2009

У меня есть таблица со столбцами 'id', 'name', 'value', 'uniqueConst' в обеих базах данных. Теперь мне нужно экспортировать только все поля 'value' из одной базы данных в другую ', где db1.uniqueConst = db2.uniqueConst'. Другие поля уже находятся в db2, а идентификаторы в обоих db идентичны, поэтому я не могу просто экспортировать всю таблицу. Вы можете мне помочь?

Ответы [ 2 ]

1 голос
/ 30 июня 2009

В MS SQL Server вы можете настроить связанных серверов . Оттуда это просто прямое обновление

update 
   [databaseB].dbo.[tableb]
set 
[databaseB].dbo.[tableb].value = [databaseA].dbo.[tablea].Value
From
[databaseA].dbo.[tablea]
WHERE 
  [databaseA].dbo.[tablea].uniqueConst =   [databaseb].dbo.[tableb].uniqueConst 
1 голос
/ 30 июня 2009

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

USE d2
UPDATE tablename
SET value = d1table.value
FROM tablename d2table INNER JOIN db1.schemaname.tablename d1table
ON d2table.uniqueConst = d1table.uniqueConst

... до тех пор, пока у вас есть разрешения как для баз данных, так и для таблиц, и до тех пор, пока поле uniqueConst уникально, как следует из его названия:)

edit: я предполагаю, что базы данных находятся в одном экземпляре; если это не так, вам нужно добавить связанный сервер и использовать запись из четырех частей, чтобы включить имена экземпляров.

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