Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Sisipkan massal dengan kualifikasi teks di SQL Server

Anda perlu menggunakan 'format file' untuk menerapkan kualifikasi teks untuk penyisipan massal. Pada dasarnya, Anda perlu mengajari sisipan massal bahwa ada kemungkinan pembatas yang berbeda di setiap bidang.

Buat file teks bernama "level_2.fmt" dan simpan.

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

Baris pertama, "11.0" mengacu pada versi SQL Anda. Baris kedua menunjukkan bahwa tabel Anda, [level2_import], memiliki dua kolom. Setiap baris setelah itu akan menggambarkan sebuah kolom, dan mengikuti format berikut:

[Nomor Kolom Sumber][Tipe Data][Ukuran Minimum][Ukuran Maks][Pola Pembatas][Nomor Kolom Tujuan][Nama Kolom Tujuan][Sensitivitas basis data huruf besar-kecil]

Setelah Anda membuat file itu, Anda dapat membaca data Anda dengan pernyataan penyisipan massal berikut:

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

Lihat blog ini untuk penjelasan rinci tentang format file.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah UNION ALL menjamin urutan set hasil?

  2. Menyisipkan baris ke dalam tabel dengan satu kolom IDENTITAS saja

  3. Bagaimana cara mengganti nilai (null) dengan 0 output di PIVOT

  4. SEPERTI vs BERISI di SQL Server

  5. Bagaimana cara membuat dan menanyakan server database tertaut di SQL Server?