Oracle事物处理

什么是事物

事物是把对数据库的一系列操作(dml)看做一个整体

事物用于保证数据的一致性,它由一组相关的dml语句组成,改组的dml语句要么全部成功,要么全部失败。

如:网上转账就是典型的要用事物来处理,用以保证数据的统一性。

事物和锁

当执行事物操作时(dml语句),oracle会被作用的表上加锁,防止其它用户改变表的结构,这里对我们用户来讲是非常重要的。

提交事物

当执行使用commit语句可以提交事物,当执行了commit语句后,会确认事物的变化、结束事物、删除保存点、释放锁,当使用commit语句结束事物后,其它会话将可以查看到事物变化后的新数据。

回退事物

在介绍回退事物前,我们先介绍一下保存点(savepoint)的概念和作用

保存点是事物中的一点,用于取消部分事物,当结束事物时,会自动的删除该事物所定义的所有保存点。

当执行rollback时,通过指定保存点可以回退到指定的点。

事物的几个重要操作

1)设置保存点:savepoint 保存点名

2)取消部分事物:rollback to 保存点名

3)取消全部事物:rollback

 

v  在一个事物中可以保存多个保存点;

v  一个保存点只有一次回退的机会,回退以后,该保存点就消失了,不能再回退了;

v  设置保存点是有资源开销的;

v  一旦提交了事物,则不能回退到任何保存点。

原文地址:https://www.cnblogs.com/fanweisheng/p/11113911.html