[Firebird] Triggeri ,trigger icinden inactive/active etmek

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ı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

[Firebird] Triggeri ,trigger icinden inactive/active etmek

Mesaj gönderen gkimirti »

baslıktanda anlasılacagı uzere bir trigger icinde
kodların basında calısmasını istemedigim bir triggerı inactive etmek ve kodların sonunda da active etmek istiyorum
yada bunun baska bir yolu varmıdır...

active ve inactive keywordleri alter trigger ile kullanılabiliyor sanırım
ÜŞENME,ERTELEME,VAZGEÇME
onaydin

Mesaj gönderen onaydin »

[Eğer tanımlı bir metni yoksa]
trigger çalıştığında
RDB$TRIGGERS tablosundaki trigger ın adını where RDB$TRIGGER_NAME = 'trigger_adı' olan satırı alıp
RDB$TRIGGER_INACTIVE alanını bir yapsak
çıkarkende bu alanı tekrar 0 a dönüştürüversek olur mu
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

SAOLASIN onur işe yaradı...
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

yanılmısım, trigger icinden yapamayız...
cunku bu update in etkin olması icin transactionın commit edilmesi gerekli
ama delphi tarafında yapılabilir. ben de o sekilde yapmayı dusunuyoum
ÜŞENME,ERTELEME,VAZGEÇME
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

Kafama takıldı, ben de araştırdım biraz. İşinize yarar mı bilmiyorum :

http://www.ibphoenix.com/archive/main.n ... ;ID='29375'

> Hello everybody.
>
> Im working with 1.5rc8, and do his job very fine... BUT.
>
> I need to dissable a trigger fired on insertion during a stored
> procedure, but not lucky doing it.
>
> I try to use "alter inactive" ... but not alowed in procedure.

That depends, especially with Firebird 1.5

You can't execute ALTER TRIGGER ... inside a PSQL code module,
but for example you *could* use the EXECUTE STATEMENT ...

*Could* means, that you might be able to do that, but it doesn't
mean that I would recommend doing that. ;-)

> I try to changing the status in the system table, but may be I'm a
> little comfused, but even I do, still fired the trigger.
>
> someone can put me here a little exaple "how to do..." a disable
> triger?

Why do you want to disable a trigger?

Mind you, disabling a trigger means that the trigger gets disabled
for *all* connected users!

HTH,
Thomas Steinmaurer

Logging/Auditing Suite for InterBase and Firebird
http://www.iblogmanager.com
Sevgi, Saygı.....
Cevapla