sql >> Database teknologi >  >> RDS >> Sqlserver

sqlbulkcopy, jeg vil overskrive aktuelle rækker i databasen

At Mitch påpeger massekopieringsfunktionerne (SqlBulkCopy , bcp og BULK INSERT ) håndterer kun indstik, ikke opdateringer.

Den normale tilgang til dit problem er at udføre bulk load i to (eller flere) trin - først bruger du bulk inserts til at indlæse dine data i en staging-tabel, og derefter bruge en forespørgsel til at indsætte / opdatere poster i hovedtabellerne baseret på dataene i iscenesættelsestabellerne, for eksempel:

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

Se SQL SERVER – Indsæt data fra en tabel til en anden tabel for information om, hvordan man indsætter i en tabel fra en anden tabel - det er også muligt at lave en join i en OPDATERING, men jeg kæmper med at finde en god ressource til dette.



  1. Sådan sletter du filer eller billeder fra mappe og database i Laravel?

  2. Ekstern Mysql IP-adgang

  3. Handlingen kan ikke fuldføres, fordi DbContext er blevet disponeret i Mqsql og Entity Framework

  4. Flytte fra LINQpad til et ordentligt Visual Studio-projekt?