oracle-事务

什么是事务

事务:
  事务是指作为单个逻辑工作单元执行的一组相关操作。  
  这些操作要求全部完成或者全部不完成。
使用事务的原因:保证数据的安全有效。
事务的四个特点:(ACID)
  1、原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。
  2、一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事务进行的所有数据修改,必须在所有相关的表中得到反映。
  3、隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。
  4、持久性(Durability):保证事务对数据库的修改是持久有效的,即使发生系统故障,也不应该丢失。

相关概念

回滚:RollBack只能对未提交的数据撤销,已经Commit的数据是无法撤销的,因为commit之后已经持久化到数据库中。

脏读(Dirty Read):事务T1更新了一行数据,还没有提交所做的修改,T2读取更新后的数据,T1回滚,T2读取的数据无效,这种数据称为脏读数据。
不可重复读(UNrepeatable Read):事务T1读取一行数据,T2修改了T1刚刚读取的记录,T1再次查询,发现与第一次读取的记录不相同,称为不可重复读。
幻读(Phantom Read):事务T1读取一条带WHERE条件的语句,返回结果集,T2插入一条新纪录,恰好也是T1的WHERE条件,T1再次查询,结果集中又看到T2的记录,新纪录就叫做幻读。

隔离级别

NO_TRANSACTION不支持事务
READ_UNCOMMITED允许脏读、不可重复读、幻读
READ_COMMITED允许不可重复读、幻读,不允许脏读
REPEATABLE允许幻读,不允许脏读、不可重复读
SERIALIZABLE脏读、不可重复读、幻读都不允许

Oracle支持SQL92标准的READ_COMMITED、SERIALIZABLE,自身特有的READ_ONLY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值