This is how I am currently doing it, I am checking both @@ERROR and @@ROWCOUNT to determine if an action query failed or not. Is this the best and most reliable way of doing such?DECLARE @errorvar1 int, @rowcountvar1 intDECLARE @errorvar2 int, @rowcountvar2 intDECLARE @errorvar3 int, @rowcountvar3 intDECLARE @errorvar4 int, @rowcountvar4 int--Start transactionBEGIN TRANSACTIONINSERT INTO ...--Log error and rows affectedSELECT @errorvar1 = @@ERROR, @rowcountvar1 = @@ROWCOUNTUPDATE Table ...--Log error and rows affected SELECT @errorvar2 = @@ERROR, @rowcountvar2 = @@ROWCOUNTINSERT INTO ...--Log error and rows affectedSELECT @errorvar3 = @@ERROR, @rowcountvar3 = @@ROWCOUNTUPDATE TABLE ...--Log error and rows affectedSELECT @errorvar4 = @@ERROR, @rowcountvar4 = @@ROWCOUNTIF @errorvar1 = 0 AND @rowcountvar1 >= 1 AND @errorvar2 = 0 AND @rowcountvar2 >= 1 AND @errorvar3 = 0 AND @rowcountvar3 >= 1 AND @errorvar4 = 0 AND @rowcountvar4 >= 1 BEGIN COMMIT TRANSACTION RETURN 1 EndElse BEGIN ROLLBACK TRANSACTION RETURN -1 End