SQL Server’da Trigger Olup Olmadığını Kontrol Ederek Trigger Drop Etmek
Herkese merhaba. Bu yazıda SQL Server’da bir trigger olup olmadığını kontrol ederek trigger drop etmek hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda trigger’ın olup olmadığını kontrol ederek drop etmek isteyebiliriz.
Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
Ben üç adet yöntem göstereceğim. Hepsi ile aynı sonucu alacaksınız.
--Örnek tablo oluşturulması
CREATE TABLE OrnekTablo
(
Id INT PRIMARY KEY IDENTITY(1, 1)
);
--Örnek oluşturulmuş tablo için trigger oluşturulması
CREATE TRIGGER Deneme
ON dbo.OrnekTablo
FOR INSERT
AS
BEGIN
PRINT 'Deneme';
END;
--Yöntem 1 : Trigger olup olmadığını kontrol ederek trigger drop etmek
IF EXISTS
(
SELECT *
FROM sys.objects
WHERE name = N'Deneme'
AND type = 'TR'
)
BEGIN
DROP TRIGGER dbo.Deneme;
PRINT 'Trigger Kaldırıldı';
END;
--Yöntem 2 : Trigger olup olmadığını kontrol ederek trigger drop etmek
IF EXISTS
(
SELECT *
FROM sys.objects
WHERE object_id = OBJECT_ID(N'dbo.Deneme')
AND type = 'TR'
)
BEGIN
DROP TRIGGER dbo.Deneme;
PRINT 'Trigger Kaldırıldı';
END;
--Yöntem 3 : Trigger olup olmadığını kontrol ederek trigger drop etmek
IF (OBJECT_ID(N'dbo.Deneme') IS NOT NULL)
BEGIN
DROP TRIGGER dbo.Deneme;
PRINT 'Trigger Kaldırıldı';
END;
Triggeri oluşturduktan sonra 3 yöntemden herhangi birini çağıralım. Aşağıdakine benzer bir sonuç alacaksınız.
Görüldüğü üzere triggerın olup olmadığı kontrol edilerek trigger drop edilmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.