事务(Transaction)
事务是一种机制,一个操作序列,包含一组操作指令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求(即要么全部执行,要么全部不执行)
---------------------------------------
事务的4个属性
原子性(Atomiciy)
事务中的所有元素必须作为一个整体提交或回滚,其元素是不可分的(原子性),如果事务中的任何元素出现失败则全部失败.
一致性(Consistency)
数据必须处于一致状态,也就是说事务开始与结束数据要一致,不能损坏其中的数据,也就是说事务不能使数据存储处于不稳定状态.
隔离性(Isolation)
事务必须是独立的不能以任何方式依赖或影响其他事务
持久性(Durability)
事务完成后,事务的效果永久的保存在数据库中
---------------------------------------
事务分类
显式事务
则用begin transaction指定事务开始commit.../rollback...指定结束
隐式事务
通过设置 set implicit_transaction on(开)或者off(关)
自动提交事务
默认情况下SQL server每条语句都是一个事务,成功就自动提交,失败就回滚
---------------------------------------
执行事务的语法
开始事务
begin transaction
提交事务
commit transaction
回滚(撤销)事务
rollback transaction
---------------------------------------
示例:
begin Transaction
update user set id+=1 where id=1111
if(@@error<>0) //判断是否报错如果报错就回滚信息否则提交事务
rollback transaction
else
commit transaction