FMDB使用SQLite事务Save Point

时间:2022-10-20 20:15:35
FMDB使用SQLite事务Save Point
 
在SQLite中,事务提供了批量处理,批量撤销的功能。当批量操作中有一步无法完成操作,就会把执行过的语句都撤销,恢复到撤销前的状态。但是由于SQLite不支持事务嵌套,所以用户不能直接完成复杂的事务。不过,SQLite提供了保存点Save Point机制。用户可以在事务中添加保存点,然后根据情况,回滚到指定的保存点,并可以重新执行保存点之后的代码。这样,通过保存点机制,可以变相实现事务嵌套。
 
为了满足开发者需要,FMDB在FMDatabase类中提供了Save Point操作方法。
startSavePointWithName:创建保存点。
rollbackToSavePointWithName:回滚到保存点。
inSavePoint:执行保存点后的代码。
releaseSavePointWithName:撤销保存点。