Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chèn hàng loạt với bộ định tính văn bản trong SQL Server

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu các KHÓA SQL Server trên các truy vấn CHỌN

  2. Sao chép cơ sở dữ liệu SQL Server

  3. sql địa lý để dbgeography?

  4. Có thể lưu trữ giá trị của một cột đã chọn và sử dụng nó cho cột tiếp theo không?

  5. Làm cách nào để xóa bộ đệm truy vấn SQL Server?