Serdar Kardeş Merhaba, Ben şöyle bir makale buldum bunu kullanırsak büyük ihtimalle çözeriz.
Recursive Trigger Oluşturma
Trigger’ın kendini çağırması durumudur.
Triggerda aynı tabloda işlem yapılıyorsa o işlem sonucu aynı trigger bir daha çalışabilir.
Trigger başka tabloda işlem yapar. O işlem sonucu çalışan başka bir triggerda yeniden birinci tablo ile ilgili işlem yapar. Bu durum da da recursive olur.
En fazla 32 tane çalışır.
Sürekli bir şart ile kontrol edilip sonlandırılmalıdır. Yoksa sonsuz döngüye girer.
Alter database ticaret set recursive_triggers on
sp_dpoption ticaret,'recursive triggers',true
Alter database ticaret set recursive_triggers on
sp_dpoption ticaret,'recursive triggers',true
Recursive trigger’ları aktif yapmak için yukarıdaki kodlar kullanılır.
Bir alanının güncellendiğini öğrenmek için update(alanadi) fonksiyonu kullanılır. Sonucu true yada false olarak döner.
Bir trigger başka bir tabloda işlem yaparken o tablodaki trigger’ı da çalıştırabilir.
İç içe 32 trigger çalıştırılabilir.
@@Nestlevel hangi seviyede olduğunu belirtir.
Sp_configure procedure’ü kullanılarak iç içe tetiklenme kapatılabilir.
İlk trigger çalışır diğerleri tetiklenmez.