oracle事务学习笔记

       事务是由SQL语句组成的执行序列,这个序列中的所有语句属于一个工作单元,完成一个特定的业务逻辑,也就是说事务中的内容只有两种状态,一个是全部执行,一个是都不执行。

       事务的四个属性(ACID):

      1.原子性(Atomicity):事务中内容(操作序列)要么全都执行,要么都不能执行。

      2.一致性(Consistency):事务的执行结果必须是从一个一致性到另一个一致性状态。

     3.隔离性(Isolation):事务的执行不能被干扰,维护一致性。

     4.持久性(Durability):一个事务的执行对数据库的影响应该是永久的。

    事物控制语句

   1.commit语句

      事务提交。

   2.ROLLBACK语句
     如果不想让执行的SQL语句生效,就需要使用ROLLBACK语句回滚事务。Oracle数据库还提供一种称为保存点(SAVEPOINT)的技术,可以通过在一个事务中定义保存点将一个复杂的事务分隔成若干个部分,回滚事务时可以只回滚保存点之后的操作,从而实现了部分回滚的功能。语法格式如下:ROLLBACK TO SAVEPOINT savepoint_name

    并发操作带来的问题

  1.脏读:一个事务读了另一个事务已经更新了但没有提交的数据(读的是错误的数据)

  2.幻读:(前提条件)先后进行两次相同的读(查询操作),在两次查询操作之间另一个事务修改了数据,导致两次读的数据不一样(读的都是正确的数据)

  3.不可重复读:(前提条件)要两次读取同一个属性的数据,这个时候另一个事务对原来的数据进行了修改或删除(删除与幻读相区别)(读的都是正确的数据)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值