Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy SQL Server Bulk Insert ma charakter transakcyjny?

BULK INSERT działa jako seria pojedynczych INSERT instrukcji, a zatem, jeśli zadanie się nie powiedzie, nie wycofuje wszystkich zatwierdzonych wstawek.

Można go jednak umieścić w transakcji, więc możesz zrobić coś takiego:

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. Powolne uruchamianie usług SQL Reporting Services 2008 w trybie natywnym

  2. Jak zastosować posiadanie klauzuli z grupą przez w Select Query — samouczek SQL Server / TSQL, część 131

  3. Dlaczego zawsze wolimy używać parametrów w instrukcjach SQL?

  4. Generuj **nagie** instrukcje CREATE TABLE i CREATE PROC w SQL Server

  5. Jak zmienić sortowanie na poziomie serwera uruchomionej instancji SQL Server?