保存点:使用保存点的目的是把一个大的事物分成几段进行保存
以实验的方式说明保存点的作用:

 create table testsp (tid number, tname varchar2(20)); // 创建表:2 列:tid tnameinsert into testsp values(1, 'Tom');insert into testsp values(2, 'Mary'); // 插入 2 条数据savepoint aaa; // 设置保存点 aaainsert into testsp values(3, 'Moke'); // 插入 1 条数据savepoint bbb; // 设置保存点 bbbupdate testsp set tname='tomson' where tid=1; // 将 Tom 改为 tomsondelete from testsp where tid=1; // 删除 第一行rollback to savepoint bbb; // 回滚至 bbbSQL> select * from testsp; // 输出表中所有数据


我们看到第一行 Tom没有被改为 tomson,也没有被删除

rollback to savepoint aaa; // 此时不能再回退到 bbb
rollback ; //对整个事务进行回滚
select * from testsp;//输出表中的数据

结果为:

没有数据。
上述两个问题都是因为当执行 commit 或者 rollback 后保存点就会全部无效了

事务的控制(保存点)相关推荐

  1. 0046 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚

    0046 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚 参考文章: (1)0046 @Transactional注解的几个参数--事务传播控制--事务隔离级 ...

  2. java jdbc事务_Java JDBC事务管理和保存点

    java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...

  3. Hibernate的事务级别控制与查询对象的API(Query查询与Criterial查询+离线查询)

    1.事务级别控制 可以在Hibernate的配置文件中对事务进行配置.配置文件中,可以设置事务的隔离级别.其具体的配置方法是在hibernate.cfg.xml文件中的<session-fact ...

  4. (6)理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理||抛弃框架,如何实现分层架构下JDBC事务的控制

    理解事务处理.事务处理的隔离级别,和使用JDBC进行事务处理   佟强 http://blog.csdn.net/microtong 2009年12月23日 事务是作为单个逻辑工作单元执行的一系列操作 ...

  5. jpa批量保存,事务没提交_在事务外自动保存托管JPA实体

    jpa批量保存,事务没提交 Spring中的存储库和事务并存. Spring中的所有数据库访问都应在事务内运行,并且通常在某个地方使用@Transactional来强制执行此操作. 但是,这并不总是必 ...

  6. 在事务外自动保存托管JPA实体

    Spring中的存储库和事务并存. Spring中的所有数据库访问都应在事务内运行,并且通常在某个地方使用@Transactional来强制执行此操作. 但是,这并非总是必要的. 例如,当使用Spri ...

  7. @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚

    @Transactianal注解有一些属性,见Spring-Framework-Reference Table17.3 Transactional-settings @Transactional(pr ...

  8. spring对事务的控制 AOP

    我解释一下(* com.evan.crm.service.*.*(..))中几个通配符的含义: |第一个 * -- 通配 任意返回值类型| |第二个 * -- 通配 包com.evan.crm.ser ...

  9. redis中事务的控制

    Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项: Redis会将一个事务中的所有命令序列化,然后按顺序执行. Redis不可能在一个Redis事务的执行过程中插入执行另 ...

最新文章

  1. 用 Flask 来写个轻博客 (32) — 使用 Flask-RESTful 来构建 RESTful API 之一
  2. Java stackoverflowerror异常与outofmemoryerror异常区别
  3. 【技术干货】Spring事务原理一探
  4. 安卓+php推,使用 PHP 消息队列实现 Android 与 Web 通信
  5. BootStrap轮播图失效
  6. 使用c# .net core开发国标gb28181 sip +流媒体服务完成视频监控实例教程 亲身完美体验过程...
  7. linux中流设备_Linux中的标准文件I/O流
  8. Go语言爱好者周刊:第 131 期 — 这道题你做对了吗?
  9. win7操作系统练习题(带答案,有问题可直接在博客或公众号中问)
  10. MatConvNet训练自己的网络
  11. android文件浏览器,安卓最强大的文件浏览器:ES文件浏览器
  12. js html 测反应速度游戏,利用JS测试目标网站的打开响应速度
  13. 基于物联网的无线温度系统在钢铁行业的应用
  14. SQL面试题练习记录
  15. C语言 常量和宏定义
  16. goldengate中添加同步表的操作
  17. 转:HEVC、AV1、VVC:如何理解2019年的编解码器世界(干货!)
  18. 单链表-史上最清晰的尾插法和头插法
  19. [杂]图多杀猫的英语说法
  20. ​电动汽车数字仪表盘背后的秘密

热门文章

  1. 首个金融领域的开源中文预训练语言模型FinBERT了解下
  2. 双边分支网络:兼顾特征和分类的长尾问题解决方案
  3. 两种方法判断有向图是否有环【DFS】【拓扑排序】
  4. python哨兵循环_Python中的Sentinel(哨兵)值
  5. 【Redis系列】深入浅出Redis主从复制之读写分离【一篇搞懂Redis复制】
  6. 【安全系类之设计】应用安全相关
  7. 最明的int和Integer的区别
  8. Java向数据库中插入Boolean类型的字段
  9. BugKuCTF WEB 网站被黑
  10. Build Tree