Bạn cần sử dụng 'tệp định dạng' để triển khai bộ định dạng văn bản cho chèn hàng loạt. Về cơ bản, bạn sẽ cần dạy cho phần chèn số lượng lớn rằng có thể có các dấu phân cách khác nhau trong mỗi trường.
Tạo một tệp văn bản có tên "level_2.fmt" và lưu nó.
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
Dòng đầu tiên, "11.0" đề cập đến phiên bản SQL của bạn. Dòng thứ hai cho thấy rằng bảng của bạn, [level2_import], có hai cột. Mỗi dòng sau đó sẽ mô tả một cột và tuân theo định dạng sau:
[Số cột nguồn] [Kiểu dữ liệu] [Kích thước tối thiểu] [Kích thước tối đa] [Mẫu dấu phân cách] [Số cột đích] [Tên cột đích] [Độ phân biệt chữ hoa chữ thường của cơ sở dữ liệu]
Khi bạn đã tạo tệp đó, bạn có thể đọc trong dữ liệu của mình bằng câu lệnh chèn hàng loạt sau:
BULK INSERT level2_import
FROM 'D:\test.csv'
WITH
(
FIRSTROW = 2,
FORMATFILE='D:\level_2.fmt'
);
Tham khảo blog này để biết giải thích chi tiết về tệp định dạng.