Я пытаюсь объединить несколько баз данных SQL Server в один. Проблема в том, что в одной из таблиц в качестве первичного ключа есть поле идентификации. В таблице также есть два уникальных поля. Что-то вроде:Объединить базы данных SQL Server
datatable:
id pk identity
link1 uniqueid
link2 uniqueid
Моя первая мысль была запустить следующий сценарий:
declare @maxId as int
set @maxId = (SELECT IsNull(MAX(id),0) FROM datatable)
SET IDENTITY_INSERT datatable ON
INSERT INTO database1.datatable id, link1, link2 SELECT id + @maxId, link1, link2 FROM database2.datatable
SET IDENTITY_INSERT datatable OFF
который работает, за исключением того, что запрос выполняется несколько раз данные получает дублируется. Что было бы лучшим способом убедиться, что сочетание link1 и link2 еще не существует в моем столе?
Если бы это была только одна колонка, я мог бы использовать инструкцию IN, но, к сожалению, мне нужны оба столбца для соответствия.
Именно информации, которую я искал. Благодарю. – Kyle