事务的控制(保存点)
保存点:使用保存点的目的是把一个大的事物分成几段进行保存
以实验的方式说明保存点的作用:
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 后保存点就会全部无效了
事务的控制(保存点)相关推荐
- 0046 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
0046 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚 参考文章: (1)0046 @Transactional注解的几个参数--事务传播控制--事务隔离级 ...
- java jdbc事务_Java JDBC事务管理和保存点
java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...
- Hibernate的事务级别控制与查询对象的API(Query查询与Criterial查询+离线查询)
1.事务级别控制 可以在Hibernate的配置文件中对事务进行配置.配置文件中,可以设置事务的隔离级别.其具体的配置方法是在hibernate.cfg.xml文件中的<session-fact ...
- (6)理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理||抛弃框架,如何实现分层架构下JDBC事务的控制
理解事务处理.事务处理的隔离级别,和使用JDBC进行事务处理 佟强 http://blog.csdn.net/microtong 2009年12月23日 事务是作为单个逻辑工作单元执行的一系列操作 ...
- jpa批量保存,事务没提交_在事务外自动保存托管JPA实体
jpa批量保存,事务没提交 Spring中的存储库和事务并存. Spring中的所有数据库访问都应在事务内运行,并且通常在某个地方使用@Transactional来强制执行此操作. 但是,这并不总是必 ...
- 在事务外自动保存托管JPA实体
Spring中的存储库和事务并存. Spring中的所有数据库访问都应在事务内运行,并且通常在某个地方使用@Transactional来强制执行此操作. 但是,这并非总是必要的. 例如,当使用Spri ...
- @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
@Transactianal注解有一些属性,见Spring-Framework-Reference Table17.3 Transactional-settings @Transactional(pr ...
- spring对事务的控制 AOP
我解释一下(* com.evan.crm.service.*.*(..))中几个通配符的含义: |第一个 * -- 通配 任意返回值类型| |第二个 * -- 通配 包com.evan.crm.ser ...
- redis中事务的控制
Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项: Redis会将一个事务中的所有命令序列化,然后按顺序执行. Redis不可能在一个Redis事务的执行过程中插入执行另 ...
最新文章
- 用 Flask 来写个轻博客 (32) — 使用 Flask-RESTful 来构建 RESTful API 之一
- Java stackoverflowerror异常与outofmemoryerror异常区别
- 【技术干货】Spring事务原理一探
- 安卓+php推,使用 PHP 消息队列实现 Android 与 Web 通信
- BootStrap轮播图失效
- 使用c# .net core开发国标gb28181 sip +流媒体服务完成视频监控实例教程 亲身完美体验过程...
- linux中流设备_Linux中的标准文件I/O流
- Go语言爱好者周刊:第 131 期 — 这道题你做对了吗?
- win7操作系统练习题(带答案,有问题可直接在博客或公众号中问)
- MatConvNet训练自己的网络
- android文件浏览器,安卓最强大的文件浏览器:ES文件浏览器
- js html 测反应速度游戏,利用JS测试目标网站的打开响应速度
- 基于物联网的无线温度系统在钢铁行业的应用
- SQL面试题练习记录
- C语言 常量和宏定义
- goldengate中添加同步表的操作
- 转:HEVC、AV1、VVC:如何理解2019年的编解码器世界(干货!)
- 单链表-史上最清晰的尾插法和头插法
- [杂]图多杀猫的英语说法
- ​电动汽车数字仪表盘背后的秘密