-
很多人不知道对事务不是很了解,以下是我为大家提供的,希望能够帮到大家
--[事务]
/*
定义:
事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作
创建事务语法:
开始事务:begin transaction 或者 begin tran
提交事务:commit transaction 或者 commit tran
回滚(撤销)事务:rollback transaction 或者 rollback tran
事务结束标志:
事务提交或回滚
特性:
1)原子性(Atomicity):
事务是一个完整的操作,事务的各元素是不可分割,要么全部成功的执行,
要么全部撤消操作,事务的单元不可能出现只有部分成功的现象
2)一致性(Consistency):
事务完成前后,数据必须保持完全一致的状态
3)隔离性(Isolation):
事务是相对独立的,一个事务对数据进行修改时,其他事务是不能修改的
4)持久性(Durability):
事务分类:
显式事务:明确地 事务开始和结束
隐式事务:不须要指定开始但是要指定结束,并且在提交或回滚事务后自动启动新的事务,
通过set implicit_transactions on将隐式事务设置为打开
自动提交:SQL的默认模式
事务隔离级别:
未提交读(READ UNCOMMITTED):--最底的隔离级别
俗称“脏读”。
特点:没有什么隔离且能读取其他事务正在修改尚未提交的数据,即无法确保读取数据的正确性
已提交读(READ COMMITTED):--默认的隔离级别
特点:能够确保其他事务不能够读取当前修改、尚未提交的记录
重复读(REPEATABLE READ):--隔离级别比较高
特点:确保其他事务不能修改当前事务正在读取、尚未提交的数据
可串行化(SERIALIZABLE):--最高的隔离级别
特点:事务之间完全隔离,按串行化的方式执行的,所以该隔离级别不存在并行化的操作
注意:
1)显示事务最常用,因为自动提交事务无法将多条语句作为一个独立的逻辑单元来执行
而隐式事务无法明确控制事务的开始位置
2)事务的四个特性(属性)是用户强制定义的并不是系统定义的
3)要对事务的每一个操作都进行错误监控(即:定义变量才积累错误号码)
*/