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