为了账号安全,请及时绑定邮箱和手机立即绑定

数据库事务的问题……

数据库事务的问题……

aluckdog 2018-12-06 23:40:19
数据库事务一次性可以回滚多少条数据????   比如一次性提交了50万条数据,有一个出错,这50万的数据统统都要回滚么???
查看完整描述

4 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

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 分段事务。

查看完整回答
反对 回复 2019-01-21
?
倚天杖

TA贡献1828条经验 获得超3个赞

楼主你太狠了。

查看完整回答
反对 回复 2019-01-21
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

你一次性更新50W条。。不卡么

查看完整回答
反对 回复 2019-01-21
  • 4 回答
  • 0 关注
  • 352 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信