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