Ekleyen:
Murat ORUÇ KKK Database Developer
Tarih:26.01.2015 Okunma Sayısı:3133
Tetikleyici(Trigger) bir tablo üzerinde belirli bir olay neticesinde tetiklenip çalışan SQL kod parçacıklarıdır. Tablo üzerindeki tetikleyicileri (triggerleri) harekete geçiren olaylar DELETE, INSERT ve UPDATE olaylarıdır. Bir tablo üzerinde bu olayların öncesinde ve sonrasında tetiklenecek bir çok tetikleyici yazılabilir. Ancak genel temayül her bir olay için tek bir tetikleyici kullanmak şeklindedir. Örneğin stok hareketleri olayı esnasında stok miktarlarının azalması/artması işlemlerinin veya tahakkuk ve tahsilatlar sonucu carî hesapların etkilenmesi işlemlerinin tetikleyiciler aracılığı ile yapılmaları, tipik bir tetikleyici kullanımıdır. Ayrıca referential integrity’yi sağlamak amacı ile de tetikleyici kullanımı çok tercih edilir. İlişkisel bir veritabanında örneğin PERSONEL_ANA tablosundaki kişinin bölüm bilgisi amaçlı olarak BRANS_NO tutulması ve bölümün adının da BRANS tablosundan bulunması yapıldığını düşünelim. Eğer 1 numaralı bölüm herhangi bir personele kullanıldıysa BRANS tablosundan BRANS_NO değeri 1 olan kaydın kesinlikle silinememesi gerekmektedir. Bu tür kontrollerin yapılarak veri bütünlüğünün korunmasına İngilizcede referential integrity denir. Bu amaçla yazılan veya bir veritabanı tasarım aracı kullanıldıysa onun otomatik olarak yazdığı tetikleyici kodları sayesinde bu bütünlük korunur. Çünkü BRANS tablosunun delete tetikleyicisi’nde gerekli kontrolleri yapacak kod yazılır ve silinmek istenen BRANS_NO herhangi bir personel için kullanıldıysa bu silme işlemine izin verilmez.[1]