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

MASUKKAN MASSAL dari string yang dibatasi koma

Saya tidak yakin apakah ada cara langsung untuk dilakukan di T-SQL , tetapi jika Anda ingin menggunakan Sisipan Massal, Anda dapat menggunakan sqlcmd untuk mengekspor ke file CSV lalu Impor file kembali ke server menggunakan Sisipan Massal.

Buat dbo.Split Functionm, Anda dapat merujuk di sini membagi string menjadi beberapa record Ada banyak contoh bagus.

jika Anda ingin menjalankan sebagai proses batch, Anda dapat menjalankan sqlcmd dan 'Sisipkan Massal'

sqlcmd -S MyServer -d myDB -E -Q "select dbo.Split(col1) from SomeTable" 
       -o "MyData.csv" -h-1 -s"," -w 700

-s"," sets the column seperator to 

bulk insert destTable
from "MyData.csv"
with 
(
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
)

Jika tidak, Anda dapat memanipulasi secara langsung di T-SQL, tetapi mengingat Anda memiliki identitas yang sama dari definisi kolom.

 INSERT INTO DestinationTable
 SELECT dbo.Split(col1) FROM SomeTable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kerugian menggunakan ExecuteReaderAsync dari C# AsyncCTP

  2. mengonversi stempel waktu Epoch ke server sql (format yang dapat dibaca manusia)

  3. SQL Server perlu mempartisi data, tetapi hanya memiliki edisi standar

  4. Kinerja SQL JOIN vs IN?

  5. Metode SqlDataAdapter.Fill lambat