March 2015 Entries

mssql2008+ : How do I manage transactions in stored procedures?
This pattern works well:USE [yourDatabase] GO IF OBJECT_ID('ThisSproc', 'P') IS NOT NULL DROP PROCEDURE ThisSproc; GO CREATE PROCEDURE ThisSproc @PersonId INT, @NewMoneyCollected MONEY = 0 AS BEGIN BEGIN TRY BEGIN TRANSACTION; UPDATE OrganizationTripFunding SET Balance = MoneyCollectedAllYear + @NewMoneyCollected WHERE PersonId = @PersonID; COMMIT TRANSACTION; END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION; DECLARE @ErrorNumber INT = ERROR_NUMBER(); DECLARE @ErrorLine INT = ERROR_LINE(); ......

Posted On Monday, March 16, 2015 8:39 PM | Comments (0)