At Mitch посочва функциите за групово копиране (SqlBulkCopy
, bcp
и BULK INSERT
) обработват само вмъквания, не и актуализации.
Нормалният подход към вашия проблем е да извършите груповото зареждане в две (или повече) стъпки - първо използвате групови вмъквания, за да заредите данните си в етапна таблица, а след това използвате заявка за вмъкване/актуализиране на записи в основните таблици въз основа на данните в междинните таблици, например:
INSERT INTO MyTable
(Column1, Column2, [etc...])
SELECT Column1, Column2, [etc...]
FROM Test_Staging
WHERE [Some condition]
Вижте SQL SERVER – Вмъкване на данни от една таблица в друга таблица за информация как да вмъкнете в една таблица от друга таблица - възможно е също така да направите съединение в АКТУАЛИЗАЦИЯ, но ми е трудно да намеря добър ресурс за това.