普通SQL事务:
begin transaction tr
declare @error int;
set @error=0;
select * from Car_Brand
set @error=@error+@@ERROR
select 1/0
set @error=@error+@@ERROR
select * from AREA
set @error=@error+@@ERROR
print 'i have executed!'
set @error=@error+@@ERROR
print '@@error:'+cast(@error as varchar(50))
if(@error<>0)
begin
print 'executed failed';
rollback transaction tr
end
else
begin
print 'executed success';
commit transaction tr
end
结合try catch 的SQL事务处理:
begin try
begin transaction tr
select * from Car_Brand
update car_log set [reason]='ceshiceshiceshi' where [modelid]=557;
select 1/0
print 'i have executed!'
select * from AREA
print 'executed success';
commit transaction tr
end try
begin catch
print 'executed failed';
rollback transaction tr
end catch
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。