sql >> Databáze >  >> RDS >> Sqlserver

sqlbulkcopy, chci přepsat aktuální řádky v databázi

Společnost At Mitch poukazuje na funkce hromadného kopírování (SqlBulkCopy , bcp a BULK INSERT ) zpracovává pouze vložky, nikoli aktualizace.

Normální přístup k vašemu problému je provést hromadné načtení ve dvou (nebo více) krocích – nejprve použijete hromadné vkládání k načtení dat do pracovní tabulky a poté pomocí dotazu vložíte/aktualizujete záznamy v hlavních tabulkách na základě data v pracovních tabulkách, například:

INSERT INTO MyTable
(Column1, Column2, [etc...])
SELECT Column1, Column2, [etc...] 
FROM Test_Staging
WHERE [Some condition]

Viz SQL SERVER – Vkládání dat z jedné tabulky do druhé pro informace o tom, jak vkládat do jedné tabulky z jiné tabulky - je také možné provést spojení v UPDATE, ale snažím se najít dobrý zdroj na toto.



  1. Oracle regexp_replace na úplných slovech

  2. Problém s odpovídajícími řádky v databázi pomocí PDO

  3. Použití Oracle 10g CLOB s Grails 2.0.1

  4. ORA-01000:maximální počet otevřených kurzorů překročen při použití Spring SimpleJDBCCall