|
|
知识路径: > 数据库技术 > 事务管理 > 事务的基本概念 > 事务的基本概念 > 事务的状态 >
|
相关知识点:4个
|
|
|
|
如果不出现故障,那么所有事务都能执行完成。一旦在执行过程中发生故障,不能执行完成的事务称为中止事务;将中止事务对数据库的更新撤销称为事务回滚;成功执行完成的事务称为已提交事务。
|
|
|
中止的事务是可以回滚的,通过回滚恢复数据库,保持数据库的一致性,这是DBMS的责任。已提交的事务是不能回滚的,必须由程序员或DBA手工执行一个“补偿事务”才能撤销提交的事务对数据库的影响。
|
|
|
注意:事务一旦提交,就不能中止它,而要撤销已提交事务所造成影响的唯一方法是执行一个补偿事务(Compensating Transaction)。比如一个事务给账户A加了600元,其补偿事务是对账户A减去600元。实际上不是总能够创建这样的补偿事务。
|
|
|
|
|
|
|
|
|
|
|
|