Most runtime errors don’t rollback transaction

Many developers mistakenly believe that any error inside a transaction will make the transaction fail and automatically rollback. However, this is true only for fatal errors, such as most errors with severity equal to 16 or higher. The commonest runtime error – for example duplicate primary keys, violation of unique constraints and foreign key relationship – aren’t fatal and therefore won’t rollback the transaction.

To rollback a transaction when an error occurs you must manually check each statement for runtime error using the @@ERROR global variable, as in the following code snippet:

BEGIN TRANSACTIONINSERT authors VALUES (

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: