事务的概念
事务(Transaction)是用户定义的一个单一逻辑工作单位的数据库操作序列。这些操作要么全做,要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
事务和程序是两个概念:
在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句、或整个程序
一个应用程序通常包含多个事务
事务是恢复和并发控制的基本单位。
事务的开始与结束都可以由用户显式控制,在SQL语言中,显示定义事务的语句有三条:
隐式定义方式
当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。
事务的结束
commit
:事务正常结束,提交事务的所有操作(读+更新),事务中所有对数据库的更新永久生效
rollback
:事务异常终止,事务运行的过程中发生了故障,不能继续执行。回滚事务的所有更新操作,事务滚回到开始时到状态。
事务模型
事务由作为一个单独单元的一个或多个SQL语句组成。这个单元中的每个SQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。
因而,只有事务中的所有语句都成功地执行才能说这个事务被成功地执行
Last updated