SQL Server’da Haftasonunu Kontrol Edip Başka Tabloya Insert Yapan Trigger

Herkese merhaba,

Bu yazıda SQL Server’da haftasonunu kontrol edip başka tabloya insert yapan trigger hakkında bilgi vereceğim.

SQL Server’da trigger ile ilgili çok fazla örnek göremiyorum. Bu yüzden böyle bir örnek yapma ihtiyacı hissettim.

Örnek şu şekilde.

Bir tablomuz var ve bu tabloya veri insert işlemi yapıyoruz. Eğer veri insert işlemi haftasonunda bir güne denk geliyorsa başka bir tabloya da insert yapsın. Bir nevi log tablo üzerine insert yapma işlemi.

Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.

CREATE TABLE AnaTablo
(
    id INT IDENTITY(1, 1) PRIMARY KEY,
    KullaniciAd NVARCHAR(100)
);

CREATE TABLE AnaTablo_Log
(
    id INT IDENTITY(1, 1) PRIMARY KEY,
    KullaniciAd_Log NVARCHAR(100)
);

--Trigger oluşturulması 

CREATE TRIGGER AnaTablo_Trigger
ON AnaTablo
FOR INSERT
AS
SET DATEFIRST 1;
DECLARE @GunSayisi INT;
SET @GunSayisi = DATEPART(DW, GETDATE()); --Günü buradan değiştirebilirsiniz. (Test için) 
IF (@GunSayisi = 6 OR @GunSayisi = 7) --Cumartesi ve Pazar kontrolü 
BEGIN
    DECLARE @Ad NVARCHAR(100);
    SELECT @Ad = KullaniciAd
    FROM INSERTED;
    INSERT INTO AnaTablo_Log
    (
        KullaniciAd_Log
    )
    VALUES
    (@Ad);
END;

--Veri eklenmesi işlemi

INSERT INTO dbo.AnaTablo
(
    KullaniciAd
)
VALUES
(N'Yavuz' -- KullaniciAd - nvarchar(100) 
    );

--İki tablonunda listelenmesi 

SELECT *
FROM dbo.AnaTablo;

SELECT *
FROM dbo.AnaTablo_Log;

Tabloları oluşturun, sonrasında triggeri oluşturun.

Bu işlemleri bitirdi iseniz şimdi veri ekleme işlemini yapın.

Eğer olduğunuz gün haftasonuna denk geliyorsa iki tabloya da veri insert edecektir. Hafta içinin olduğu bir günde insert işlemi yaparsanız sadece tek tabloya veri insert edecektir.

Ben hafta içi bir günde çalıştırdığım için sadece tek tabloya insert işlemi yapıldı. (Yani Ana Tabloya)

SQL Server’da Haftasonunu Kontrol Edip Başka Tabloya Insert Yapan Trigger

Görüldüğü üzere tek tablo etkilendi. Şimdi iki tabloyu da kontrol edelim.

SQL Server’da Haftasonunu Kontrol Edip Başka Tabloya Insert Yapan Trigger

Görüldüğü üzere haftasonuna göre kontrol edilip triggerin çalışması sağlandı.

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

542 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!