My Blog List

hotinit.com. Powered by Blogger.

Search This Blog

Try Catch

Tuesday, 9 August 2011

--example 1

BEGIN TRY
DECLARE @MyInt INT;
-- Following statement will create Devide by Zero Error
SET @MyInt = 1/0;
END TRY

BEGIN CATCH
SELECT 'Divide by zero error encountered.' ErrorMessage
END CATCH;
GO


--example 2
BEGIN TRY
DECLARE @MyInt INT;
-- Following statement will create Devide by Zero Error
SET @MyInt = 1/0;
END TRY
BEGIN CATCH
DECLARE @ErrorMessage NVARCHAR(4000);
SELECT @ErrorMessage = ERROR_MESSAGE();
RAISERROR (@ErrorMessage, 16, 1);
END CATCH;
GO

--example 3
BEGIN TRY
DECLARE @X INT
---- Divide by zero to generate Error
SET @X = 1/0
PRINT 'Command after error in TRY block'
END TRY
BEGIN CATCH
PRINT 'Error Detected'
END CATCH
PRINT 'Command after TRY/CATCH blocks'

Output:
Error Detected
Command after TRY/CATCH blocks

Merge Syntax


-- merge TABLEB with the details form table TABLEA
MERGE TABLEB                              
AS TARGET USING  
          (
                   --select querry for merge
                   SELECT
                   ColumnName1,
                   ColumnName2,
                   ColumnName3,
                   ColumnName4,
                   ColumnName5
                   FROM TABLEA
          ) as mer
ON (TARGET.ColumnName=mer.ColumnName)
WHEN MATCHED AND     
          (        TARGET.ColumnName1<>mer.ColumnName1              
                   OR TARGET.ColumnName2<>mer.ColumnName2)
THEN              
     UPDATE SET     TARGET.ColumnName1=mer.ColumnName1,             
                                                          TARGET.ColumnName2=mer.ColumnName2
WHEN NOT MATCHED BY TARGET              
THEN INSERT  
   (
                   ColumnName1,
                   ColumnName2,
                   ColumnName3,
                   ColumnName4,
                   ColumnName5 
   )  
 
VALUES
  (                mer.ColumnName1,
                   mer.ColumnName2,
                   mer.ColumnName3,
                   mer.ColumnName4,
                   mer.ColumnName5
  )                   
 

Blogger news

Blogroll

Most Reading

8.6/10