sql server 事务与try catch
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 的事务
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

浙公网安备 33010602011771号