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

Apakah Sisipan Massal SQL Server Transaksional?

BULK INSERT bertindak sebagai serangkaian individu INSERT pernyataan dan dengan demikian, jika pekerjaan gagal, itu tidak mengembalikan semua sisipan yang dikomit.

Namun, itu dapat ditempatkan dalam suatu transaksi sehingga Anda dapat melakukan sesuatu seperti ini:

BEGIN TRANSACTION
BEGIN TRY
BULK INSERT  OurTable 
FROM 'c:\OurTable.txt' 
WITH (CODEPAGE = 'RAW', DATAFILETYPE = 'char', FIELDTERMINATOR = '\t', 
   ROWS_PER_BATCH = 10000, TABLOCK)
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa apakah tabel ada dan jika tidak ada, buat di SQL Server 2008

  2. Ubah nama bulan menjadi nomor bulan di SQL Server

  3. Kunci baris - menggunakannya secara manual

  4. Kueri rekursif di mana jangkar dan anggota memiliki serikat pekerja

  5. Kueri berkinerja optimal untuk catatan terbaru untuk setiap N