Bij Mitch wijst op de bulkkopieerfuncties (SqlBulkCopy
, bcp
en BULK INSERT
) verwerken alleen invoegingen, geen updates.
De normale benadering van uw probleem is om de bulklading in twee (of meer) stappen uit te voeren - eerst gebruikt u bulkinserts om uw gegevens in een verzameltabel te laden en gebruikt u vervolgens een query om records in de hoofdtabellen in te voegen/bij te werken op basis van de gegevens in de verzameltabellen, bijvoorbeeld:
INSERT INTO MyTable
(Column1, Column2, [etc...])
SELECT Column1, Column2, [etc...]
FROM Test_Staging
WHERE [Some condition]
Zie SQL SERVER – Gegevens van de ene tabel naar de andere tabel invoegen voor informatie over het invoegen in de ene tabel vanuit een andere tabel - het is ook mogelijk om een join te doen in een UPDATE, maar ik heb moeite om een goede bron hierover te vinden.