006.Oracle事务处理

发布时间:2024年01月20日

无奋斗不青春

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

分隔线

事务
  • 事务用于保证数据的一致性,他由一组相关的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
    
文章来源:https://blog.csdn.net/weixin_50296259/article/details/135699582
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。