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

Inserción masiva con calificador de texto en SQL Server

Debe usar un 'archivo de formato' para implementar un calificador de texto para la inserción masiva. Esencialmente, deberá enseñar a la inserción masiva que hay delimitadores potencialmente diferentes en cada campo.

Cree un archivo de texto llamado "level_2.fmt" y guárdelo.

11.0
2
1   SQLCHAR   0  8000   "\","      1     wkt         SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR   0  40   "\r\n"      2     area         SQL_Latin1_General_CP1_CI_AS

La primera línea, "11.0" se refiere a su versión de SQL. La segunda línea muestra que su tabla, [level2_import], tiene dos columnas. Cada línea posterior describirá una columna y obedece al siguiente formato:

[Número de columna de origen][Tipo de datos][Tamaño mínimo][Tamaño máximo][Patrón delimitador][Número de columna de destino][Nombre de columna de destino][Distinción entre mayúsculas y minúsculas de la base de datos]

Una vez que haya creado ese archivo, puede leer sus datos con la siguiente instrucción de inserción masiva:

BULK INSERT level2_import
FROM 'D:\test.csv'
WITH 
(
  FIRSTROW = 2,
  FORMATFILE='D:\level_2.fmt'
);

Consulte este blog para obtener una explicación detallada del archivo de formato.