事务:
保障流程的完整执行,就像银行取钱,先在你账上扣钱,然后存入别人的账上;但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,事务为了防止此类情况的出现。
事务的基本格式:
begin tran --在流程开始的位置
if @@ERROR>0
begin
rollback tran --回滚事务,到begin tran的位置,就当没发生过
end
else
begin
commit tran --提交事务,都没问题,那么就一把进行提交
end
例题:购物车实例
begin tran --开启事务declare @tran_error int; --存储错误set @tran_error = 0; --默认没有错误update Fruit set Numbers = Numbers-1 where Ids='k002'set @tran_error = @tran_error + @@ERROR;update Login set Account=Account-1 where UserName='wangwu'set @tran_error = @tran_error + @@ERROR;insert into Orders values('d002','wangwu','2016-8-7')set @tran_error = @tran_error + @@ERROR;insert into OrderDetails values('d002','k002',10)set @tran_error = @tran_error + @@ERROR;if @tran_error>0begin rollback tran --回滚事务,到begin tran的位置,就当没发生过endelsebegin commit tran --提交事务,都没问题,那么就一把进行提交end
View Code
原标题:SQL Server(九)——事务
关键词:sql