数据库在执行dml操作时依赖事务管理机制。事务是由若干dml语句组成的逻辑工作单元,旨在保障数据的一致性与完整性,即其中所有操作必须全部成功执行,否则全部撤销。
1、 事务的提交处理
2、 使用COMMIT语句可显式提交事务,将事务内所有DML操作所引发的数据变更一次性持久化到数据库中,表示该事务已顺利完成。
3、 在执行COMMIT之前,这些修改仅对当前会话可见,其他用户无法感知或访问变更后的数据,如图1所示。
4、 提交完成后,数据更新被永久写入磁盘,原始数据状态不可恢复,同时系统自动释放相关行锁与表锁,并清空回滚段中的事务信息;此后,其他用户即可查询和操作已更新的数据,如图2所示。

5、 事务回滚与保存点机制
6、 保存点(Savepoint)的作用类似于标记点,允许在事务运行过程中设立多个中间回滚位置。若使用ROLLBACK TO SAVEPOINT并指定某一保存点,则仅回退该保存点之后的操作,且该保存点之后定义的所有保存点也将一并失效;若未指定具体保存点而直接执行ROLLBACK,则整个事务的所有更改均被撤销。

7、 只读事务特性
8、 只读事务限制用户只能执行SELECT类查询操作,确保在整个事务持续期间,所有查询看到的是同一时间点的一致性数据快照。
9、 启用只读事务的语法如下所示:

10、 顺序事务模式
11、 顺序事务既支持只读查询,也允许在事务内部执行DML语句,适用于需要兼顾一致性与修改能力的场景。
12、 其启动语法格式如下
13、 将SQL*Plus客户端设置为自动提交模式,使每条DML语句执行后立即生效,无需手动COMMIT。
14、 相关语法结构示例如下:












