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