Bu yazımızda SQL Serverda Trigger kullanımının nasıl olacağını gösteren basit bir örnek oluşturacağız. Örneğimizde Insert Trigger, Delete Trigger ve Update Trigger kullanımını göreceğiz. Örneğimizde Satış yapıldığında ürüne ait stok bilgisinin otomatik olarak güncellenmesini sağlayacağız.
SQL Trigger Kullanımı ile ilgili daha geniş bilgi almak isterseniz aşağıdaki bağlantıya tıklamanızı tavsiye ederim.
Örneğimize geçelim. Örneğimizde kullanacağımız veritabanı ve tabloları aşağıdaki gibidir.
Veritabanımızın ismi dbMagaza ve Tablolarımız Urun ve Satis olacaktır.
Tablolarımızıtasarladıktan sonra Satış tablosundaki “satisurun” alanı ile Urun tablosundaki “urunid” alanı arasındaki ilişkiyi oluşturuyoruz.
Şimdi Urun tablomuza deneme amaçlı birkaç kayıt girelim.
Sırada Insert Trigger oluşturma işlemi var. Satış yapıldığında Urun tablosundaki stok yani urunadet alanında bulunan değerlerin eksilmesini sağlayacağız.
New Query (Yeni Sorgu) oluşturarak Insert Trigger‘ ı yukarıdaki gibi oluşturduktan sonra ve Execute dedikten sonra deneme amaçlı Satis tablosuna bir kayıt girelim.
Satış tablosuna bir değer girildiğinde Urun tablosundaki stok adetinin azaldığını görmüş olduk. Peki bu satıştan vazgeçilirse yani Satis tablosundan bir kayıt silinirse ne olacak? Bu iş için ise imdadımıza Delete Trigger yetişiyor. Satış tablosundan herhangi bir kayıt silinirse Urun tablosunda Stok adetinin yani urunadet alanının silinen kayıttaki adet kadar arttırılmasını sağlayalım.
Delete Trigger ‘ dan sonra şimdi de Update Trigger‘ ı oluşturacağız. Update Trigger hangi amaçla kullanılır? Öncelikle bunu açıklayalım. Eğer Satis tablosunda yapılan bir satı işlemi sonrası satış adeti değiştirilirse çalışması sağlanır. Bu işlem için ise aşağıdaki gibi kodlarımızı oluşturup Execute diyoruz.
İşlemlerimizi tamamlamış olduk. Eğer oluşturmuş olduğumuz Trigger (Tetikleyici) üzerinde değişiklik yapmak istersek, oluşturmuş olduğumuz Trigger‘lara aşağıdaki gibi erişebiliriz.
Trigger üzerinde sağ tıklayarak Modify dedikten sonra istenilen değişiklik uygulanarak Execute edilebilir
SQL Trigger Kullanımı ile ilgili daha geniş bilgi almak isterseniz aşağıdaki bağlantıya tıklamanızı tavsiye ederim.
Örneğimize geçelim. Örneğimizde kullanacağımız veritabanı ve tabloları aşağıdaki gibidir.
Veritabanımızın ismi dbMagaza ve Tablolarımız Urun ve Satis olacaktır.


Tablolarımızıtasarladıktan sonra Satış tablosundaki “satisurun” alanı ile Urun tablosundaki “urunid” alanı arasındaki ilişkiyi oluşturuyoruz.

Şimdi Urun tablomuza deneme amaçlı birkaç kayıt girelim.

Sırada Insert Trigger oluşturma işlemi var. Satış yapıldığında Urun tablosundaki stok yani urunadet alanında bulunan değerlerin eksilmesini sağlayacağız.

New Query (Yeni Sorgu) oluşturarak Insert Trigger‘ ı yukarıdaki gibi oluşturduktan sonra ve Execute dedikten sonra deneme amaçlı Satis tablosuna bir kayıt girelim.

Satış tablosuna bir değer girildiğinde Urun tablosundaki stok adetinin azaldığını görmüş olduk. Peki bu satıştan vazgeçilirse yani Satis tablosundan bir kayıt silinirse ne olacak? Bu iş için ise imdadımıza Delete Trigger yetişiyor. Satış tablosundan herhangi bir kayıt silinirse Urun tablosunda Stok adetinin yani urunadet alanının silinen kayıttaki adet kadar arttırılmasını sağlayalım.

Delete Trigger ‘ dan sonra şimdi de Update Trigger‘ ı oluşturacağız. Update Trigger hangi amaçla kullanılır? Öncelikle bunu açıklayalım. Eğer Satis tablosunda yapılan bir satı işlemi sonrası satış adeti değiştirilirse çalışması sağlanır. Bu işlem için ise aşağıdaki gibi kodlarımızı oluşturup Execute diyoruz.

İşlemlerimizi tamamlamış olduk. Eğer oluşturmuş olduğumuz Trigger (Tetikleyici) üzerinde değişiklik yapmak istersek, oluşturmuş olduğumuz Trigger‘lara aşağıdaki gibi erişebiliriz.

Trigger üzerinde sağ tıklayarak Modify dedikten sonra istenilen değişiklik uygulanarak Execute edilebilir