Estoy familiarizado con la clase C# SqlBulkCopy donde puede llamar al método 'WriteToServer' que pasa a través de una DataTable.¿Cómo funciona SqlBulkCopy?
Mi pregunta es qué mecanismo subyacente en el servidor SQL se utiliza para insertar a granel esos datos?
La razón por la que pregunto es que la inserción masiva a la que se hace referencia en el archivo de ayuda Bulk Insert MSDN T-SQL requiere un archivo de datos para importar. ¿SqlBulkCopy crea un archivo de datos?
Me gustaría entender esto para determinar si puedo usar la funcionalidad de inserción masiva en SQL.
Si escribo una declaración SQL que prepara todas las filas para insertar en una tabla particular (miles de filas) ¿puedo insertarlas a granel en la tabla de destino? Algo así es como lo estoy haciendo ahora,
INSERT INTO sync_filters (table_name, device_id, road_id, contract_id)
SELECT * FROM dbo.sync_contract_filters (@device_id)
Y los dbo.sync_contract_filters es una función para generar todas las filas a insertar. ¿Se puede insertar a granel?
Entonces, algo de lo que estoy interesado además es ¿puedo crear una declaración SQL que cree las filas que necesito para una tabla en particular, y luego insertarlas a granel (esto es completamente usando SQL). ¿BCP puede hacer esto, por ejemplo? Tenía la impresión de que bcp usa tablas también. – peter