sql >> Databasteknik >  >> RDS >> Sqlserver

Är SQL Server Bulk Insert Transactional?

BULK INSERT fungerar som en serie individuella INSERT uttalanden och därför, om jobbet misslyckas, rullar det inte tillbaka alla de engagerade inläggen.

Det kan dock placeras i en transaktion så att du kan göra något så här:

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. hur kan jag ändra främmande nyckel?

  2. Hur man frågar en CLOB-kolumn i Oracle

  3. SQLite datum och tid funktioner

  4. Alternativ till att använda lokala variabler i en where-sats