数据库事务的问题……

数据库事务一次性可以回滚多少条数据????

 

比如一次性提交了50万条数据,有一个出错,这50万的数据统统都要回滚么???

aluckdog
浏览 353回答 4
4回答

繁花如伊

sql serve可以使用分段事务,更新50万数据改为分批更新的话,就可以了。 当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。OFF 是默认设置。   SET XACT_ABORT  OFF   begin transaction t1                       --开始一个事务t1 update a set x=1 where x is null     --更新为值1 save transaction t2                         --保存事务点t2 update b set y=2 where y is null      --更新为值2 if @@error<>0                                --判断有无错误 rollback transaction t2                     --如果有,回滚到事务点t2 commit transaction t1                       --提交事务t1   楼主可以看下SQL 分段事务。

倚天杖

楼主你太狠了。

慕盖茨4494581

你一次性更新50W条。。不卡么
打开App,查看更多内容
随时随地看视频慕课网APP