SQL Server’da Kolona Girilen Veriye Göre Triggerı Çalıştırmak

Herkese merhaba,

Bu yazıda SQL Server’da kolona girilen veriye göre triggerı çalıştırmak hakkında bilgi vereceğim.

Aslına bakarsanız konunun çıkış noktası nette gördüğüm bir soru.

Soruda diyor ki benim bir tablom var ve bu tabloma İstanbul içeren bir veri girersem başka bir tabloya insert işlemi yapabilir miyim?

İşte bu noktadan hareketle kodlarını yazıp sizlere anlatmaya çalışacağım.

Şimdi aşağıdaki kod bloğunu kendi serverınız üzerinde çalıştırın.

--Tablo oluşturulması 

CREATE TABLE Iller
(
    Id INT PRIMARY KEY IDENTITY(1, 1),
    Ad NVARCHAR(100),
    Sehir NVARCHAR(100)
);

--Tablo için Trigger oluşturulması

CREATE TRIGGER IstannbulaGoreCalisanTrigger
ON dbo.Iller
FOR INSERT
AS
BEGIN
    DECLARE @Sehir NVARCHAR(100);
    SELECT @Sehir = Inserted.Sehir
    FROM Inserted;
    IF @Sehir = 'İstanbul'
    BEGIN
        SELECT 'İstanbul girişli bir kayıt yapıldı' AS Sonuç;
    END;
END;

--Tabloya İstanbul'lu veri eklenmesi

INSERT INTO dbo.Iller
(
    Ad,
    Sehir
)
VALUES
(N'Yavuz', N'İstanbul');

Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Kolona Girilen Veriye Göre Triggerı Çalıştırmak

Gördüğünüz üzere trigger çalıştı.

Peki biz yukarıda ne yaptık. İlk olarak For Insert ile bunun veri eklenince çalışacak bir trigger olduğunu belirttik.

DECLARE @Sehir NVARCHAR(100);
SELECT @Sehir = Inserted.Sehir
FROM Inserted;

Sonrasında şehir bilgisini bu kısımdan çekiyoruz.

Çekilen şehir bilgisi kısmını kontrol ettirip ya uyarı verdiriyoruz ya da başka bir tabloya insert işlemi yapıyoruz.

Burası size ve yapacağınız işleme kalmış. Ben select ile İstanbul girişli kayıt yapıldı diye bir uyarı verdirdim.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

486 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!