当一个事务中存在大量的数据操作,即:执行了很多SQL语句之后,最后因为某条记录被其他user锁定的原因,导致整个事务rollback的情况。这个场合可以使用到savepoint语句使事务回退到发生错误之前。
比如,Noa项目的Rebase,Merge方法的实装代码中,在一个事务中,先对大量的表数据进行处理,最后更新(删除或修改)版本情报的场合
・savepoint 保存点
・lockVersion()
・lockVersion()失败的场合、rollback to 保存点。
本文探讨了在大量数据操作的事务中,如何利用savepoint语句有效管理事务回滚,特别是在某一记录被其他用户锁定导致事务失败的情况下,通过savepoint实现精确的回滚控制。
当一个事务中存在大量的数据操作,即:执行了很多SQL语句之后,最后因为某条记录被其他user锁定的原因,导致整个事务rollback的情况。这个场合可以使用到savepoint语句使事务回退到发生错误之前。
比如,Noa项目的Rebase,Merge方法的实装代码中,在一个事务中,先对大量的表数据进行处理,最后更新(删除或修改)版本情报的场合
・savepoint 保存点
・lockVersion()
・lockVersion()失败的场合、rollback to 保存点。
226

被折叠的 条评论
为什么被折叠?