Se han agregado muchas funciones nuevas a SQL Server 2005. Entre ellas, la función masiva en la función OPENROWSET puede importar datos por lotes en tipos de archivos a la base de datos:
BULK es un nuevo proveedor de conjuntos de filas especificado en la función OPENROWSET que le permite acceder a datos de archivos en formato relacional. Para recuperar datos de un archivo, especifique la opción BULK, un nombre de archivo y un formato de archivo creado con bcp.exe o manualmente. Puede especificar el nombre de la columna de resultados entre paréntesis después del alias de la tabla devuelta por OPENROWSET. El siguiente es un ejemplo para explicar brevemente
si existe un archivo TXT, de la siguiente manera
Asia.txt
1, Mizuho, Fukushima, Tokio
2, Minika, Pang, Taipéi
3, Jen, Ambelang, India
4, Jiang, Hong, Shangai
5, Ada, Koo, Hong Kong
Y creamos una tabla de datos llamada región.
CREAR REGIÓN DE TABLA
(ID INT,
REGIÓN VARCHAR(25),
VARCHAR DATOS(MAX)
)
Podemos usar la función masiva para agregar datos a la tabla de regiones.
INSERTAR EN LA REGIÓN (ID, REGIÓN, DATOS)
SELECCIONE 1 COMO ID, 'ASIA' COMO REGIÓN,
* DESDE OPENROWSET( BULK 'C:DATAASIA.TXT',SINGLE_CLOB)
AS MYTABLE
, el campo de datos de la tabla de regiones es el contenido del archivo de texto asia.txt.
Fuente: BLOG de jackyrong