006.Oracle事务处理

无奋斗不青春

我 的 个 人 主 页: 失心疯的个人主页
入 门 教 程 推 荐 : Python零基础入门教程合集
虚 拟 环 境 搭 建 : Python项目虚拟环境(超详细讲解)
PyQt5 系 列 教 程: Python GUI(PyQt5)文章合集
Oracle数据库教程: Oracle数据库文章合集
优 质 资 源 下 载 : 资源下载合集
优 质 教 程 推 荐: Python爬虫从入门到入狱系列 合集

分隔线

Oracle事务处理

        • 事务
        • 事务和锁
        • 回退事务
        • 提交事务
        • 事务的几个重要操作
        • 只读事务

事务
  • 事务用于保证数据的一致性,他由一组相关的dml语句组成,该组dml语句要么全部成功,要么全部失败
  • dml语句:数据操作语句。包含增、删、改,没有查询。要么全部成功,要么全部失败。
  • 如:网上转账就是典型的要用事务来处理,用以保证数据的一致性
事务和锁
  • 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其他用户改表的结构,这里对我们用户来讲是非常重要的。
回退事务
  • 在介绍回退事务之前,我们先介绍一下保存点(savepoint)的概念和作用。
  • 保存点:是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点。当执行rollback时,通过指定保存点可以回退到指定的点。
提交事务
  • 当使用commit语句可以提交事务。当执行了commit语句之后,会确认事务的变化、结束事务、删除保存点、释放锁,当使用commit语句结束事务之后,其他会话将可以查看到事务变化后的新数据。
  • 使用commit提交事务之后,所有保存点(savepoint)都被删除

事务的几个重要操作
  1. 设置保存点:savepoint a1;
  2. 取消部分事务:rollback to a1; (回滚到指定保存点)
  3. 取消全部事务:rollback; (回滚到最开始的保存点)
  4. 提交事务:commit(提交事务之后,所有保存点失效)
  5. 退出:exit(退出程序,事务会自动提交)

只读事务
  • 只读事务
    • 只读事务是指允许执行查询操作,而不允许执行任何其他dml操作的事务,使用只读事务可以确保用户只能取得某时间点的数据。
    • 假定机票代售点每天18点开始统计今天的销售情况,这时可以使用只读事务。在设置了只读事务后,尽管其他会话可能会提交新的事务,但是只读事务将不会取得最新数据的变化,从而可以保证取得特定时间点的数据信息。
  • 设置只读事务
    set transaction read only
    

你可能感兴趣的:(Oracle,PL/SQL,oracle,数据库,oracle教程,数据库教程,plsql,sql)