Oracle学习笔记(七)。事务处理语言(DTL)。事务的特性,原子性(ATOMICITY),一致性(CONSISTENCY),隔离性(ISOLATION),持久性(DURABILITY)


事务处理语言(TCL)

1 什么是事务

事务指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

2 事务特性

2.1原子性(ATOMICITY)

事务中的操作要么都不做,要么就全做。

2.2 一致性(CONSISTENCY)

一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功事务时,数据应处于一致的状态。

2.3 隔离性(ISOLATION)

一个事务的执行不能被其他事务干扰。

2.4 持久性(DURABILITY)

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

3 使用事务

  • commit 事务提交
  • rollback 事务回滚
  • savepoint 设置回滚点

3.1 事务类型

3.1.1 显示事务

需要我们手动地提交或回滚。

DML语言中的所有操作都是显示事务操作。

3.1.2 隐式事务

数据库自动提交,不需要我们做任何操作,同时也不具备回滚性。

DDL,DCL语言都是隐式事务语言。

3.2 事务提交

commit

当我们执行了一个DML语言后,此时的数据并不会持久化到数据文件中,需要使用commit来确认提交。

3.3 事务回滚

rollback

当我们执行了一个DML语言后,也可以使用rollback来撤销当前对表的操作。

3.4 设置回滚点

Savepoint

Rollback to

例如:

insert into emp values(1,'ZhangSan',500,null);
SavePoint A;
insert into emp values(2,'LiSi',1000,null);
SavePoint B;
insert into emp values(3,'WangWu',1500,null);
rollback  to B;
commit;

说明:这里设置了两个回滚点A和B。但是我执行了rollback to B;那么在我commit;的时候第三条数据并没有被插入到表中,只插入了前两条。我如果执行rollback to A;那么就只能插入第一条。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻啦猫@_@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值