zoukankan      html  css  js  c++  java
  • Oracle中的事务(1)--四大特性、保存点、回滚、提交

      数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。---【来自百度百科】

    事务的四大特性:

    事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性

    • 原子性(atomicity)

      一个事务是一个不可分割的工作单位,对于其数据修改,要么全执行,要么全都不执行。

    • 一致性(consistency)

      事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。一致性与原子性是密切相关的。

    • 隔离性(isolation)

      一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

    • 持久性(durability)

      持久性也称永久性(permanence),事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

    事务-保存点(Savepoint)

      用于回滚时,如果想要撤回刚刚的操作,可以在这些操作之前设置一个保存点,在需要撤回时使用rollback进行回滚。

      语法:

        savepoint 保存点名称

    事务-回滚(rollback)

      事务回滚是指将该事务已经完成的对数据库的更新操作撤销。

      语法:

        rollback to 保存点名称--撤销单个事务

        rollback  不加保存点名称则撤销所有存在的事物

    事务-提交(commit)

      事务的提交指的是把你刚刚操作的数据真正的写入到数据库中,这个时候 你就不能在运用rollback进行撤销你刚才的操作了。

      数据库一旦commit了数据,那么就会撤销所有的保存点。所以,这时rollback会得到一个错误。当使用commit语句结束事务之后,其他会话将可以查看到事务变化后的新数据。

  • 相关阅读:
    我的DBA之路:MYSQL数据类型
    我的DBA之路:MYSQL架构
    我的DBA之路:安装MySQL
    Java多线程系列之:显示锁
    Java多线程系列之:原子操作CAS
    Java多线程系列之:线程的并发工具类
    Java并发AQS原理分析(二)
    Java并发AQS原理分析(一)
    MySQL聚集索引和非聚集索引
    快速失败机制--fail-fast
  • 原文地址:https://www.cnblogs.com/sqyss/p/10385410.html
Copyright © 2011-2022 走看看