SQL语句中事务与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 的SQL事务处理:

begin trybegin 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 trend trybegin catch print ‘executed failed‘; rollback transaction trend catch

相关文章