SET XACT_ABORT ON transforma majoritatea batch abort errors in transaction abort errors. Chiar la documentul respectiv m-am gandit cand am zis asta http://www.sommarskog.se/error-handling-I.html#XACT_ABORT. Majoritatea inseamna nu chiar toate. Din acest motiv inca mai verific @@ERROR-ul.
De ce error handling in trigger? Desi un trigger trebuie sa fie by design rapid daca business logic-ul din spatele lui e complex atunci eu as face error handling si in trigger. Pe urma in acelasi document poti observa ca aproape toate erorile intr-un trigger determina un rollback automat. Aproape toate dar nu toate!
Cristian Andrei Lefter, SQL Server MVP
MCT, MCSA, MCDBA, MCAD, MCSD .NET,
MCTS, MCITP - Database Administrator SQL Server 2005
http://sqlserver.ro