Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SQL Transaction Template

BEGIN TRY
   BEGIN TRANSACTION

   -- Do stuff

   COMMIT
END TRY
BEGIN CATCH
   PRINT '[ERROR] ' + ERROR_MESSAGE();
   PRINT '[SEVERITY] ' + CAST(ERROR_SEVERITY() AS VARCHAR);
   PRINT '[STATE] ' + CAST(ERROR_STATE() AS VARCHAR);

   ROLLBACK
END CATCH

Safe Way to Test

BEGIN TRY
   BEGIN TRANSACTION

   -- 1. SELECT statement to check the "pre" state.

   -- 2. UPDATE to make the change.

   -- 3. SELECT statement to check the "post" state.

   ROLLBACK -- Change back to a COMMIT when you're ready for production.
END TRY
BEGIN CATCH
   PRINT '[ERROR] ' + ERROR_MESSAGE();
   PRINT '[SEVERITY] ' + CAST(ERROR_SEVERITY() AS VARCHAR);
   PRINT '[STATE] ' + CAST(ERROR_STATE() AS VARCHAR);

   ROLLBACK
END CATCH