• This depends and it would have to be tested. Everytime you read the @@ROWCOUNT or @@ERROR variables, SQL Server resets them back to Zero. So in theory, if one trigger read the error and Rolled Back, then the other triggers would continue on (unless there was something else that then caused them to error). You might have to make sure to re-raise the Error before the trigger is finished. Again, you'll need to test.

    Update SomeTable Set...

    If (@@ERROR = 0)

    COMMIT

    Else

    ROLLBACK

    Also, you can specify in what order triggers fire. It's just that most people don't do this because it's always an after though. Obviously and INSTEAD OF trigger would fire before the AFTER triggers. I can't remember the syntax to do this off hand but I know it can be done.