sql >> Base de Datos >  >> RDS >> Sqlserver

sqlbulkcopy, quiero sobrescribir las filas actuales en la base de datos

En Mitch señala las funciones de copia masiva (SqlBulkCopy , bcp y BULK INSERT ) solo maneja inserciones, no actualizaciones.

El enfoque normal de su problema es realizar la carga masiva en dos (o más) pasos:primero usa inserciones masivas para cargar sus datos en una tabla provisional y luego usa una consulta para insertar/actualizar registros en las tablas principales según los datos en las tablas de etapas, por ejemplo:

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

Consulte SQL SERVER – Insertar datos de una tabla a otra tabla para obtener información sobre cómo insertar en una tabla desde otra tabla; también es posible unirse en una ACTUALIZACIÓN, pero estoy luchando por encontrar un buen recurso sobre esto.