zoukankan      html  css  js  c++  java
  • oracle事务

    事务:

      事务是指作为单个逻辑工作单元执行的一组相关操作。  

      这些操作要求全部完成或者全部不完成。

    使用事务的原因:保证数据的安全有效。

    事务的四个特点:(ACID)

      1、原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。

      2、一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事务进行的所有数据修改,必须在所有相关的表中得到反映。

      3、隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。

      4、持久性(Durability):保证事务对数据库的修改是持久有效的,即使发生系统故障,也不应该丢失。

    事务组成:

      一条或者多条DML,[一条DDL]和一条DCL。

    事务的分类:

      1、显式事务:

        (1)要去显式的调用DCL。

        (2)只有用到COMMIT以后才会真正写入数据库,也持久化了。

      2、隐式事务:

        (1)如果人工要使用隐式事务,SET AUTOCOMMIT ON (只针对一个连接)

        (2)以下情况为自动提交:

           1)正常执行完成的DDL语句:create、alter、drop

           2)正常执行完场的DCL语句GRANT、REVOKE

           3)正常退出的SQLPlus或者SQL Developer等客户端

    回滚:

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

      

    脏读(Dirty Read):事务T1更新了一行数据,还没有提交所做的修改,T2读取更新后的数据,T1回滚,T2读取的数据无效,这种数据称为脏读数据。

    不可重复读(UNrepeatable Read):事务T1读取一行数据,T2修改了T1刚刚读取的记录,T1再次查询,发现与第一次读取的记录不相同,称为不可重复读。

    幻读(Phantom Read):事务T1读取一条带WHERE条件的语句,返回结果集,T2插入一条新纪录,恰好也是T1的WHERE条件,T1再次查询,结果集中又看到T2的记录,新纪录就叫做幻读。

  • 相关阅读:
    MVC NonAction属性
    未将对象引用设置到对象的实例
    回调函数callback
    Json详解
    浅谈HTTP中Get与Post的区别
    JQuery $.ajax()方法详解
    C#中Const和Readonly的区别
    全面解释StringBuilder、StringBuffer和String的关系
    基本数据类型的包装类和随机数
    枚举类的使用
  • 原文地址:https://www.cnblogs.com/assassin3154/p/7885410.html
Copyright © 2011-2022 走看看