Oracle:事务控制

1.事务是对数据库操作的逻辑单位

2.数据库事务组成:

  • 一个或多个DML语句
  • 一个DDL语句
  • 一个DCL语句

3.事务的开始和结束

事务以第一个DML语句开始,遇到下列情况事务结束:

  • 遇到commit(提交语句) 或rollback(回滚语句)
  • 遇到DDL 或DCL语句时,自动提交
  • 用户会话结束
  • 系统崩溃

4.commit 或rollback 前数据状态

  • 当前事务中数据状态的改变是可以恢复的
  • 当前事务中的DML操作结果只对当前会话可见,即可以通过select语句查看DML操作结果
  • 其它会话不能查看当前会话所做的修改。
  • 当前事务中DML语句所涉及到的行被锁定,其它会话不能更改受影响行中的数据。

5.事务commit 后数据状态

  • 数据的修改永久生效,不可再撤消
  • 数据之前的状态被覆盖,永久丢失
  • 所有的用户(会话)都将看到操作后的结果
  • 记录锁被释放,其它用户可对这些进行修改操作
  • 事务中的保存点(savepoints)被清除

6.事务执行rollback 后数据状态

  • 所有数据的更改取消
  • 数据恢复到修改前的状态
  • 受影响行上的锁全部释放

7.事务特性(ACID):

  • 原子性(Atornicity):事务要么全部执行,要么全部不执行,不允许部分执行
  • 一致性(Consistency):事务把数据库从一个一致状态带入另一个一致状态
  • 隔离性(Isolation):一个事务的执行不受其他事务的影响
  • 持久性(Durability):一旦事务提交,就永久有效,不受关机等情况的影响
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值