Вы можете сделать ссылку на базу данных из исходной базы данных в место назначения и выполнить запрос, чтобы определить, какие строки нужно будет передать, но будьте осторожны, чтобы не перетаскивать слишком много данных по ссылке, поскольку это может замедлить процесс - реалистично вам нужно только. Столбцы, которые вы будете использовать, чтобы определить, равна ли строка в источнике строке в dest
Обычно, хотя проще скопировать все данные во временную таблицу в месте назначения, а затем использовать слияние или вставку в левое соединение для вставить только некоторые данные из временной таблицы в реальную таблицу
Вот пример того, как вставить только некоторые строки, которые еще не существуют:
INSERT INTO real(column1,column2...)
SELECT temp.column1,temp.column2... FROM
temp
LEFT JOIN real ON real.ID = temp.ID
WHERE
real.ID IS NULL
В терминах c# это будет выглядеть как:
new SqlCommand(@"INSERT INTO real(column1,column2...)
SELECT temp.column1,temp.column2... FROM
temp
LEFT JOIN real ON real.ID = temp.ID
WHERE
real.ID IS NULL", conn).ExecuteNonQuery();
Вам нужно запустить это, используя conn
, подключенный к вашей целевой базе данных