sql-server – SQL Server批量插入事务?
发布时间:2020-12-12 16:36:09 所属栏目:MsSql教程 来源:网络整理
导读:如果我在SQL Server 2000查询分析器中运行以下查询: BULK INSERT OurTable FROM 'c:OurTable.txt' WITH (CODEPAGE = 'RAW',DATAFILETYPE = 'char',FIELDTERMINATOR = 't',ROWS_PER_BATCH = 10000,TABLOCK) 在符合WeTable的40行模式的文本文件上,然后更改最
如果我在SQL Server 2000查询分析器中运行以下查询:
BULK INSERT OurTable FROM 'c:OurTable.txt' WITH (CODEPAGE = 'RAW',DATAFILETYPE = 'char',FIELDTERMINATOR = 't',ROWS_PER_BATCH = 10000,TABLOCK) 在符合WeTable的40行模式的文本文件上,然后更改最后20行的格式(可以说最后20行有更少的字段),我收到错误.然而,前40条线路承诺在桌子上.有没有关于我调用Bulk Insert的方式,使它不是事务性的,或者我需要做明确的事情强制它在失败时回滚? 解决方法BULK INSERT作为一系列单独的INSERT语句,因此,如果作业失败,它不会回滚所有提交的插入.然而,它可以放在一个交易中,这样你可以做这样的事情: BEGIN TRANSACTION BEGIN TRY BULK INSERT OurTable FROM 'c:OurTable.txt' WITH (CODEPAGE = 'RAW',TABLOCK) COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION END CATCH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |