Bad practice to use SQL Server's GOTO for error handling?
You should be using Try/Catch in SQL 2005+
BEGIN TRY BEGIN TRAN UPDATE Authors SET Phone = '415 354-9866' WHERE au_id = '724-80-9391' UPDATE Publishers SET city = 'Calcutta', country = 'India' WHERE pub_id = '9999' COMMIT TRAN END TRYBEGIN CATCH PRINT 'Unexpected error occurred!' IF XACT_STATE() <> 0 ROLLBACK TRAN END CATCH
You must incorporate SET XACT_ABORT ON
in Exception handling
Begin TrySET XACT_ABORT ONBEGIN TRAN UPDATE Authors SET Phone = '415 354-9866' WHERE au_id = '724-80-9391' UPDATE Publishers SET city = 'Calcutta', country = 'India' WHERE pub_id = '9999'COMMIT TRANEnd TryBegin Catch Rollback TranEnd Catch