Please enable JavaScript.
Coggle requires JavaScript to display documents.
07-事务 (事务控制语句 (commit/commit work, rollback / rollback work, savepoint…
07-事务
事务控制语句
commit/commit work
rollback / rollback work
savepoint:创建一个标记点,可以有多过
rollback to <savepoint>:把事务回滚到指点标记点
set transaction :设置不同的事务属性
约束
主键
外键
唯一
检查性约束
非空
特征(ACID)
一致性
将数据库从一种一致状态转变为下一种一致状态
隔离性
一个事务的影响在该事务提交前对其他事务是不可见的
原子性
事务中的所有动作要么度发生,要么都不发生
语句级原子性
过程级原子性
事务级原子性
DDL语句仅提供语句级原子性
1.开始会先执行一个COMMIT,结束当前已有的所有事务
2.完成DDL操作
3.成功则提交,否则回滚
永久性
事务一旦提交,其结果就是永久性的
特殊情况
COMMIT的
WRITE扩展
定制数据加载程序
处理某种实时数据流的应用,如股市的股票报价数据
应用实现了自己的"队列"机制--这三种均为非交互式应用
非分布式PL/SQL代码块
中执行COMMIT
自治事务
事务中的事务,独立于其父事务提交或回滚
工作原理:使用pragma AUTONOMOUS_TRANSACTION
应用场景:错误日志不随着pl/sql程序回滚
不好的事务习惯
使用自动提交
在循环中提交
分布式事务
在一个事务范围内,更新不同数据库中的数据
限制
不能在数据库链接上完成DDL
不能在数据库链接上发出SAVEPOINT
不能在数据库链接上发出COMMIT
1.包含一个序列的对数据库的读写操作
2.把数据库从一种一致状态转变为另一种一致状态
3.事务提交时,确保要么所有数据都已经保存,要么所有修改都不保存