SQL Server Trigger Kullanımı Örneği (Ürün -Satış)

sdkbyrm

webmasterfrm
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Ticaret: 0 / 0 / 0
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.

trigger_ornek_3

trigger_ornek_4

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

trigger_ornek_1

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

trigger_ornek_2

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.



trigger_ornek_5

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.

trigger_ornek_7

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.

trigger_ornek_8

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.

trigger_ornek_9

İş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_ornek_6

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