数据库执行DML操作时采用事务管理机制。事务是由多个DML操作构成的逻辑单元,确保数据的一致性,所有操作要么全部成功,要么全部回滚。当用户主动提交或回滚事务时,称为显式结束;而由系统自动完成提交或回滚的情况,则称为隐式结束。
1、 提交事务处理
2、 COMMIT语句用于显式提交事务,将多条DML操作对数据的修改一次性永久写入数据库,标志着事务成功完成。
3、 执行COMMIT前,仅当前用户可见数据修改,其他用户无法查看变更内容,1所示。
4、 提交操作完成后,数据更改将永久保存至数据库,先前状态随之消失,所有相关锁被释放,回滚段缓存也被清理,其他用户即可查看并操作更新后的数据。2所示。
5、 事务回退与保存点
6、 保存点功能类似于书签,可在事务执行过程中设置多个回滚位置。当执行ROLLBACK并指定某个保存点时,仅该保存点之后的操作被撤销,且后续创建的保存点也会被清除;若未指定具体位置,则整个事务的所有操作都将回滚。
7、 只读型操作
8、 只读事务仅允许查询操作,确保多个查询在执行期间数据视图的一致性。
9、 开启只读事务的语法如下所示:
10、 按序办理
11、 通过顺序事务,既可实现只读功能,又能在事务中执行DML操作。
12、 启动语法格式如下
13、 将SQL*Plus环境配置为自动提交模式。
14、 语法结构示例
评论
更多评论