在Oracle中使用脏读,ORACLE 事务处理

本文深入探讨了Oracle数据库中事务的重要性和存在原因,详细解释了事务的四大特性——原子性、一致性、隔离性和永久性。通过实例展示了在Oracle中如何处理脏读、幻读和不可重复读等问题,以及介绍了Oracle的三种事务隔离级别:读已提交、序列化和只读,并通过实际操作演示了不同隔离级别的效果。
摘要由CSDN通过智能技术生成

ORACLE事务整理: 1、为什么要有事务的存在? 对数据库的访问是一个多用户且存在高并发的操作,如多用户在某一时间点上对同一条数据实行更新操作,导致数据严重混乱、不一致、破坏了数据的完整和安全性。 数据库事务管理这一应用横空出世,解决了多用户高并

ORACLE事务整理:

1、为什么要有事务的存在?

对数据库的访问是一个多用户且存在高并发的操作,如多用户在某一时间点上对同一条数据实行更新操作,导致数据严重混乱、不一致、破坏了数据的完整和安全性。

数据库事务管理这一应用横空出世,解决了多用户高并发下数据严重混乱的情况,很好的控制多用户高并发环境下所可能带来的数据混乱、不一致性,保证了数据完整性

和安全性。此乃真是一计灵丹妙药(事务管理)。假设数据库不存在事务处理特性,导致后果主要有:

1). 脏读:两个事务并发情况下,其中一个事务读取了另一个事务更新但未提交的记录,这时另外一个事务处于某种考虑回滚该更新操作。其中第一个数据读的数据就

是数据库中不存在的数据,也就是脏数据,被称为脏读(oracle中不存在脏读)。

2).幻读:一个事务,两个不同时间,读取的数据不同,被他人更新了。

3).不可重复读:一个事务,T1有一个查询结果集,T2再查询,数据变多了,他人有插入。

说白了,数据库事务处理就是为解决上面三个问题而存在的。操作数据库时加上事务特性处理,就不怕当前会话操作的数据,被另外一个会话所打搅。

2、什么是事务?

事务是一条或多条SQL语句组成的逻辑执行块,这块中内容SQL要么全都执行成功,那么全执行失败。不存在部分SQL执行成功或失败。(之所以事务返回状态都是一致或

成功或失败,是因为有事务隔离级别这么一说,见下文介绍)。事务使得执行数据库操作互不影响。

3、事务具备的特性?

1). 原子性:一个事务要么全执行成功,要么全执行失败。比如,事务里面有100条执行SQL,要么100条SQL全部执行成功,如有一条执行失败,事务将其他执行成功SQL

回滚为之前状态。

2).一致性:事务状态必须为一致的。比如,银行转账A账户给B账户装100¥,这是B账户+100¥同时A账户必须-100¥,从一个一致性状态转变为另外一个一致性状态。

3).隔离性:事务执行互不影响。每个事务只能干预事己内部的操作,而无法干预别的事务操作。

4).永久性:事务一旦提交,产生数据变化将是永久的。

4、控制事务命令(oracle中事

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值