Я использую SQL Server 2008 Enterprise. Мне нужно импортировать все данные с сервера/экземпляра «Сервер Foo», базы данных «Foo» и таблицы «Foo», в целевой сервер/экземпляр «Server Goo», базу данных «Goo» и таблицу «Goo». Таблица Foo и Table Goo имеют одну и ту же схему. Если такая же строка существует для таблицы Goo, я хочу сохранить исходные данные в Goo и импортировать строку импорта в Foo (таблица Foo и таблица Goo имеют столбец типа uniqueidentifier CustomerID, который действует как первичный ключ и кластеризованный индекс), просто например, игнорировать дубликат ключа.данные импорта из таблицы в таблицу
Я ищу простые и надежные способы написания T-SQL для решения проблемы экспорта/импорта данных. Любые эталонные образцы?
EDIT 1:
Я попытался ниже решение, используя MERGE, но встречались со следующей ошибкой из SQL Server Management Studio. Какие-нибудь идеи, что не так?
Некоторые больше информации:
LabTest1 \ SQLServer2008 => имя сервера \ Instance; OrderDB => DB name; dbo => название схемы; Заказы => Название таблицы.
merge into [dbo].[Orders] as Target
using "LabTest1\SQLServer2008.OrderDB.dbo.Orders" as source
on target.Hash = source.Hash
when not matched then
INSERT ([Hash]
,[Order]
,[Name]
,[CreationTime]
,[Description])
VALUES
(
source.[Hash], source.[Order], source.[Name], source.[CreationTime], source.[Description]
)
when MATCHED then
;
Сообщение об ошибке:
Msg 102, Level 15, State 1, Line 16 Неправильный синтаксис около ';'.
заранее спасибо, Джордж
Затем просто удалите КОГДА СОГЛАСЕН ТОГДА линия alltogether - вы ничего не делаете, если исходная и целевая записи совпадают, верно? Вы можете выпустить инструкцию UPDATE здесь –