数据库事务一次性可以回滚多少条数据????
比如一次性提交了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 分段事务。
- 4 回答
- 0 关注
- 352 浏览
添加回答
举报
0/150
提交
取消