×

SQL Server TRY CATCH Kullanımı

SQL Server ’da TRY CATCH bloğunu hata yönetiminde kullanılır. SQL sorgularındaki beklenmeyen hataları yakalamak ve bu hataları işlemek için kullanılır.

TRY CATCH yapısı şu şekildedir;

BEGIN TRY
-- Buraya yapmak istediğimiz işlemin kodları yazılır.
END TRY
BEGIN CATCH
-- Buraya da hata durumunda çalışacak kodlar buraya yazılır
END CATCH

Aşağıda örnek olarak farklı bir tabloya hatayı loglamak için kullanımı görebilirsiniz :

Önce bir log tablosu oluşturuyoruz:

CREATE TABLE [dbo].[SQLProc_LogTable](

            [CreatedOn] [datetime] NULL,

            [Log] [nvarchar](max) NULL,

            [Level] [nvarchar](50) NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

Try Catch Bloğu ile log tablomuza hataları aktarıyoruz.

Begin Try

            update x

            set x.MusteriPuaniId=

            (

            select top 1 a.new_musteripuanlariId from crm_MSCRM.[dbo].new_musteripuanlariBase a with(nolock)

            where a.statecode=0 and a.bbs_musteri=x.ContactId and a.bbs_puantipi=x.PuanTipi order by CreatedOn desc

            )

            from [_new_PuanYuklemeTempTable] x

            where x.MusteriPuaniId is null;

End Try

Begin Catch

            insert into SQLProc_LogTable

            select getdate(),’01-Müşteri Puanları Tespit ve Güncelleme Hata ‘+ERROR_MESSAGE(),’Error’;

End Catch

Yorum gönder