达梦数据库事务管理
事务定义
事务是指作为单个逻辑工作单元的一系列操作集合。一个典型的事务由一组操作序列组成。对于 DM 数据库,第一次执行 SQL 语句时会隐式启动一个事务,并在 COMMIT 或 ROLLBACK 语句/方法显式结束事务。此外,执行 DDL 前,DM 数据库会自动提交前面的操作,使其作为一个完整的事务结束。DDL 语句的事务处理受DDL_AUTO_COMMIT
参数控制。
查看和修改 DDL_AUTO_COMMIT
参数
SELECT PARA_NAME, PARA_VALUE, PARA_TYPE, DESCRIPTION
FROM v$dm_ini
WHERE para_name='DDL_AUTO_COMMIT';
事务操作
提交事务(COMMIT)
- 将事务的所有更新持久化到数据库中。
- 释放事务占用的资源(如锁)。
- 返回提交成功消息。
回滚事务(ROLLBACK)
- 撤销事务的所有更新,恢复到事务开始前的状态。
保存点(SAVEPOINT)
- 创建保存点:
SAVEPOINT sp_name;
- 回滚到保存点:
ROLLBACK TO SAVEPOINT sp_name;
事务特性
- 原子性:事务的操作要么全做,要么全不做。
- 一致性:事务将数据库从一个一致状态转换到另一个一致状态。
- 隔离性:事务的操作彼此隔离,不会相互干扰。