0
点赞
收藏
分享

微信扫一扫

【NVIDIA】Jetson Orin Nano系列:安装 Qt6、firefox、jtop、flameshot

无奋斗不青春

分隔线

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
    
举报

相关推荐

0 条评论