trigger tetiklenmesini önleyebilirmiyiz

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
tsamim
Üye
Mesajlar: 76
Kayıt: 19 Ağu 2004 03:08
Konum: izmir

trigger tetiklenmesini önleyebilirmiyiz

Mesaj gönderen tsamim »

herkese selamlar iyi çalışmalar ;

merhaba arkadaşlar benim fatura table'ında sıra no integer alanım var;

fatura'nın after delete trigerında stored procedure ile sıra no'yu sıralatıyorum bu sıralama esnasında yine aynı table'a update işlemi yapıyorum bu update sırasında daha önce başka işlemler için hazırladığım after update triggerının çalışmasını istemiyorum acaba böyle bir şeye ihtiyacı olan oldumu daha önce bilemiyorum.

Yani bir update,insert işleminden sonra istemediğimiz triggerların otamatik olarak tetiklenmesini engelleyebilirmiyiz acaba ;

şimdiden ilgilenen herkese çok teşekkürler;
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hayır engelleyemezsin, her halükarda çalışır. Yapını ona göre kur veya trigger içinde şart koş.

if değer = bilmemne ise
şunu şunu yap

gibi. O zaman sadece senin istediğin koşullarda çalışır.

Kolay gelsin.
Kullanıcı avatarı
tsamim
Üye
Mesajlar: 76
Kayıt: 19 Ağu 2004 03:08
Konum: izmir

Mesaj gönderen tsamim »

merhaba sayın şimşek ;

ilginiz için teşekkür ederim bu durumda update triggerını iyi düzenlemek gerekiyor triggera flag'da gönderemediğimize göre nerden tetiklendiğine dair biraz sıkıcı bir durum :( tekrar teşekkürler iyi çalışmalar
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kod: Tümünü seç

ALTER TRIGGER TriggerIsmi INACTIVE
ile istediğin trigger ı kapatabilir. Daha sonra

Kod: Tümünü seç

ALTER TRIGGER TriggerIsmi ACTIVE
ile yeniden devreye sokabilirsin.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Diğer bir çözüm şekli de şu olabilir:

Veritabanında özel bir tablo oluşturup bu tablo içine parametre gönderip trigger'larda bu tablo içindeki parametrelerle oynayıp ona göre trigger'ları veya stored procedure'ları yönlendirebilirsin.

İyi çalışmalar.
Cevapla