版权声明:欢迎转载 https://blog.csdn.net/stone_fall/article/details/88547696
事务(Transaction)
定义
- 一个数据库操作序列
- 一个不可分割的工作单位(要么全做,要么不做)
- 恢复和并发控制的基本单位
事务和程序比较
- 在关系数据库中,一个事务可以是一条或多条SQL语句,也可以包含一个或多个程序。
- 一个程序通常包含多个事务
显式定义方式
BEGIN TRANSACTION BEGIN TRANSACTION
SQL 语句1 SQL 语句1
SQL 语句2 SQL 语句2
。。。。。 。。。。。
COMMIT ROLLBACK
隐式方式
当用户没有显式地定义事务时,
DBMS按缺省规定自动划分事务
事务的特性(ACID特性)
- 原子性(Atomicity)
事务中的所有操作要么全部执行,要么都不执行。
- 一致性(Consistency)
如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还应该是一致的。
- 隔离性(Isolation)
即使多个事务并发执行,每个事务都感觉不到系统中有其他事务在执行,以保证数据库的一致性。
- 持续性(Durability )
事务成功执行后它对数据库的修改是永久的,即使系统出现故障。