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

FMDB使用SQLite事务Save Point相关推荐

  1. FMDB支持的事务类型

    FMDB支持的事务类型 在数据库中,事务可以保证数据操作的完整性.当存在大量并发操作,容易出现死锁问题.在SQLite中,为了解决该问题,提供三种事务模式,分别为DEFFERED.IMMEDIATE. ...

  2. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

  3. C# SQLite事务操作方法分析

    本文实例讲述了C# SQLite事务操作方法.分享给大家供大家参考,具体如下: 在 C#中执行Sqlite数据库事务有两种方式:SQL代码和C#代码 1. SQL代码: BEGIN- COMMIT / ...

  4. sqlite事务模型、性能优化tips、常见误区

    0,前言 本文主要介绍sqlite的事务模型,以及基于事务模型的一些性能优化tips,包括事务封装.WAL+读写分离.分库分表.page size优化等.并基于手淘sqlite的使用现状总结了部分常见 ...

  5. SQLite事务与自增深度分析

    SQLite什么都好,就怕"database is locked"这些年来想尽办法去规避它. 测试代码: static void Test2() {XCode.Setting.Cu ...

  6. FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App

    原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理 ...

  7. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  8. FMDB(FMDatabase)--SQLite的封装

    为什么80%的码农都做不了架构师?>>>    http://note.sdo.com/u/3413430/NoteContent/d1mS~k158MiwE0c400eTi SQL ...

  9. SQLite 事务控制

    有一些连续的动作需要在同一个事务里面处理,如转账等,转账的成功与否需要在同一个事务中处理,如果A的账号余额不够,转账失败,是需要将事务回滚的,而不是提交: public void payment(){ ...

最新文章

  1. Red Hat Enterprise Linux 5安装图解
  2. 如何在Vim中用换行符替换字符
  3. ssh隧道 学习总结
  4. (多线程)leetcode1116. 打印零与奇偶数
  5. 无限超越超级机器人nds_阿里重新定义个人电脑!仅名片大小,无限升级,不怕丢失无惧病毒,价格仅传统PC一半...
  6. clientsideevents能定义几个click事件_分享8个非常实用的Vue自定义指令
  7. php.ini添加的变量读取,php用ini_get获取php.ini里变量值的方法
  8. network 公网IP与私网IP的区别
  9. RealVIZ Stitcher Unlimited v5.5.1 1CD
  10. 微信小程序|基于小程序+C#实现聊天功能
  11. 个人对计算机专业的认知
  12. 使用APICloud AVM多端框架开发课程表功能
  13. 用python刷微信投票_微信投票知道 微信刷票能否python抓取微信投票_大师网络投票刷票网...
  14. JAVA 中级 ARRAYLIST - ARRAYLIST上使用泛型
  15. 新游戏中出现的基于BSP场景分割技术
  16. 5V开关电路应用设计
  17. 毕业设计-后台管理系统
  18. Redis的三种启动方式
  19. 说话人识别matlab实现
  20. 银行管理系统(c链表实现)

热门文章

  1. android ViewPager 不带滑动效果切换item
  2. ThinkPHP 3.2.2 实现持久登录 ( 记住我 )
  3. IDEA - 解决 Maven 初始化配置 web.xml 为 2.3 的问题
  4. VS2013_QT5.4_静态编译问题_已经解决
  5. CompletableFuture CompletableFuture.supplyAsync 异常处理
  6. “当前不会命中断点 还没有为该文档加载任何符号”解决方法
  7. 【异常】redis.clients.jedis.exceptions.JedisDataException: ERR unknown command ‘PSETEX‘
  8. 在 Linux 上找出并解决程序错误的主要方法【转】
  9. Java异常有多慢?
  10. .on(#39;click#39;)与.click()之间的区别