Tetikleyiciler, karmaşık veri bütünlüğü kuralları için bir gerekliliktir. Bunlar veritabanı dışında hiçbir yerde uygulanamaz veya veri bütünlüğü sorunlarınız olur.
Ayrıca, veritabanındaki tüm değişiklikleri (uygulamadan denetleme sorunu olan) yakalamak istemediğiniz sürece, denetim için en iyi yerlerdir.
Tetikleyiciler dikkatli bir şekilde yazılmamışsa performans sorunlarına neden olabilir ve yeterince geliştiriciler bunları iyi yazmak için yeterli bilgiye sahip değildir. Bu onların kötü raplerini aldıkları yerin bir parçası.
Tetikleyiciler genellikle veri bütünlüğünü korumak için diğer araçlardan daha yavaştır; bu nedenle bir kontrol kısıtlaması kullanabiliyorsanız, tetikleyici yerine bunu kullanın.
E-posta göndermeyi denemek gibi aptalca şeyler yapan kötü tetikleyiciler yazmak kolaydır. E-posta sunucusu çökerse gerçekten db'deki kayıtları değiştirememek ister misiniz?
SQL sunucusunda, tetikleyiciler bir kayıt yığını üzerinde çalışır. Çoğu zaman geliştiriciler, yalnızca bir kayıt ekini, güncelleştirmeyi veya silmeyi ele almaları gerektiğini düşünüyor. Bir veritabanında gerçekleşen tek veri değişikliği türü bu değildir ve tüm tetikleyiciler 1 kayıt değişikliği ve birçok kayıt değişikliği koşullarında test edilmelidir. İkinci testi yapmayı unutmak, aşırı düşük performanslı tetikleyicilere veya veri bütünlüğü kaybına neden olabilir.