SQL Server’da Bir Tabloda Düzenlenme Tarihi Kolonunu Trigger ile Güncellemek

Herkese merhaba,

Bu yazıda SQL Server’da bir tabloda düzenlenme tarihi kolonunun Trigger ile nasıl güncelleneceği hakkında bilgi vermeye çalışacağım.

Örnek bir senaryo oluşturdum. Bir tablomuz var, tablomuzu oluşturuyoruz. Sonrasında Trigger yapımızı oluşturuyoruz.

Aşağıdaki kodları çalıştıralım.

--Tablo oluşturma 

CREATE TABLE Kisiler
(
    ID INT IDENTITY(1, 1) PRIMARY KEY,
    Ad VARCHAR(50) NOT NULL,
    Soyad VARCHAR(50) NOT NULL,
    Olusturulma_Tarihi DATETIME NOT NULL
        DEFAULT GETDATE(),
    Duzenlenme_Tarihi DATETIME
);

--Trigger oluşturmak


CREATE TRIGGER TRG_DuzenlenmeKontrolu
ON Kisiler
FOR UPDATE
AS
BEGIN
    UPDATE Kisiler
    SET Duzenlenme_Tarihi = GETDATE()
    FROM Kisiler
        INNER JOIN deleted d
            ON Kisiler.ID = d.ID;
END;

--Tabloyu kontrol edelim

SELECT * FROM Kisiler

Tablomuz ve Trigger yapımız oluşturuldu. Şimdi tablomuza bakalım.

SQL Server'da Bir Tabloda Düzenlenme Tarihi Kolonunu Trigger ile Güncellemek

Tablomuza 2 adet kayıt ekleyelim.

--Tabloya kayıt ekleme

INSERT INTO dbo.Kisiler
(
    Ad,
    Soyad,
    Olusturulma_Tarihi,
    Duzenlenme_Tarihi
)
VALUES
(   'Yavuz Selim',      -- Ad - varchar(50)
    'Kart',      -- Soyad - varchar(50)
    DEFAULT, -- Olusturulma_Tarihi - datetime
    NULL     -- Duzenlenme_Tarihi - datetime
    ),
(   'Pelin',      -- Ad - varchar(50)
    'Tantoğlu Kart',      -- Soyad - varchar(50)
    DEFAULT, -- Olusturulma_Tarihi - datetime
    NULL     -- Duzenlenme_Tarihi - datetime
    )

Tablomuzu tekrar kontrol edelim.

SQL Server'da Bir Tabloda Düzenlenme Tarihi Kolonunu Trigger ile Güncellemek

Görüldüğü üzere düzenlenme tarihleri boş. Şimdi 1 numaralı ID’yi güncelleyelim.

--Şimdi tabloda düzenleme yapalım.


UPDATE dbo.Kisiler SET Ad='Hasan Ali' WHERE ID=1


--Tabloyu tekrar kontrol edelim

SELECT * FROM Kisiler

SQL Server'da Bir Tabloda Düzenlenme Tarihi Kolonunu Trigger ile Güncellemek

Görüldüğü üzere Yavuz Selim Kart, Hasan Ali Kart oldu ve Trigger tetiklenerek düzenlenme tarihi kolonuna düzenlenme tarihini otomatik olarak bastı. Dilerseniz bu işlemi farklı bir tabloya Insert ederek her bir düzenlenmenin kim tarafından yapıldığı bilgisini ekleyerek de gösterebilirsiniz.

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

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