事物是一种机制,是一个操作序列,它包含了一组数据库操作命令,并且所有的命令作为一个整体一起像系统提交或撤销操作请求,即这一组数据库要么都执行、要么都不执行。
事务作为单个逻辑工作单元执行的一系列操作,一个逻辑单元必须有4个属性:
1:原子性 事务是一个完整的操作,事务的个元素是不可分的。
2:一致性 当事务完成时,数据必须处于一致状态。
3:隔离性 对数据进行修改的所有并发事务是彼此隔离的。
4:持久性 事务完成之后,他对于喜用地影响是永久的。
简单银行转账示例:
begin tran declare @errorSum int update back set currentMoney=currentMoney-1000 where customerName='张三' set @errorSum=@errorSum+@@error update back set currentMoney=currentMoney+1000 where customerName='李四' set @errorSum=@errorSum+@@error if(@errorSum<>0) begin print '交易失败,回滚事务' rollback tran end else begin print '交易成功,提交事务' commit tran end