Skip to main content

How to do Error Handling for Transaction using Try Catch Block

Issue:
Some time we get requirements where we have to use transaction to do some DML operations to make sure the unit of work should be done completely. But there could be error while doing this.
So, how we can cope up with errors to achieving this?

Solution:
We can use Transaction in the Try Catch block to make sure that the transaction either successful or rollback if there is any error.

Below is an example for this:

BEGIN TRY --Start the Try Block..
BEGIN
TRANSACTION -- Start the transaction..
UPDATE
[dbo].[Table] SET salary = salary*1.1 WHERE MID = 6 --DML operations to be done in the transaction
COMMIT
TRAN -- Transaction Success!
END
TRY --End of the Try Block
BEGIN
CATCH --Start the Catch Block
IF
@@TRANCOUNT > 0 --check the error count for the errors
ROLLBACK
TRAN --RollBack in case of Error
--to raise the error message when there is an issue. Declare the variables and se the values for them
DECLARE
@ErrorMessage NVARCHAR(4000);
DECLARE
@ErrorSeverity INT;
DECLARE
@ErrorState INT;
SELECT

@ErrorMessage
= ERROR_MESSAGE(),
@ErrorSeverity
= ERROR_SEVERITY(),
@ErrorState
= ERROR_STATE();
--Raise error
RAISERROR
(@ErrorMessage, -- Message text.
@ErrorSeverity
, -- Severity.
@ErrorState
-- State.
)
END
CATCH --End of the Catch Block

Comments

Popular posts from this blog

SSRS Reports - Space/Gap issue between the objects in SSRS Reports

In Reports where some objects are set to be shown/hide based on some expression/filter condition etc. There Could be some white space issue between the objects on the report( i.e. when few objects are hidden in the report, the white space between the objects will accumulate and displayed as a big gap between the objects on the report). Following are few ways using which we can handle this kind of issue: 1. Remove the Gap between the objects in the report layout. 2. Or put a text box and make the border the same as the background color and apply the same show/hide action on it. 3. If you are using a table/matrix then instead of putting the space between objects, just add one static row above the column header for the table/matrix and make the border color the same background color. below is one approach: The report before any space handling: -----------------------------------------------------------------------------  Report Preview when all the o...

SSRS Reports - When few objects are hidden in the report, the white space between the objects will accumulate and displayed as a big gap between the objects on the report

In Reports where some objects are set to be shown/hide based on some expression/filter condition etc. There Could be some white space issue between the objects on the report( i.e. when few objects are hidden in the report, the white space between the objects will accumulate and displayed as a big gap between the objects on the report). Following are few ways using which we can handle this kind of issue: 1. Remove the Gap between the objects in the report layout. 2. Or put a text box and make the border the same as the background color and apply the same show/hide action on it. 3. If you are using a table/matrix then instead of putting the space between objects, just add one static row above the column header for the table/matrix and make the border color the same background color. below is one approach: The report before any space handling: -----------------------------------------------------------------------------  Report Preview when all the obj...

SSRS Reports - How to Create Static Rows in a Matrix in SSRS?

Today one of my team members asked me about how to create a matrix in which the rows will remain static/constant and the column group will grow as per the data available. SQL Server Reporting Services 1. Create a data set to get the required data for the matrix. 2. Drag a matrix object on the report body. 3. Add the number of required rows to outside the row group  (This is the main trick for creating the static rows in the matrix) 4. Delete the row group detail row from the matrix 5. Add the labels to the row lines headers, add the column group values and data values in the matrix 6. Run the Report and your Matrix is ready with Static Rows! Happy learning!!!