Trigger sonsuz döngü sorunu ?

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ı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Trigger sonsuz döngü sorunu ?

Mesaj gönderen hi_selamlar »

S.A. arkadaslar.
öncelikle bütün üyelere hayirli cumalar..


hazirlamis oldugum kücük bir projede iki tablomvar.
birinde deger giriliyor. digerinde ise girilen degerleri hesap koduna göre kümüle ediyorum. bunun icin sp tanimladim ve trigger ile parametre gönddererek kayitlari kümüle ettiriyorum.

fakat soyle bir sorun var.
bir tane daha trigger im var. bu trigger ile girilen degerleri kümüle edip hesap tablosu vt sinde topluyorum. fakat bu tablo icerisinde aylar var.

Kod: Tümünü seç

ocak_b
ocak_a
ocak_bb
ocak_ab
subat_b
subat_a
subat_bb
subat_ab
...
...
aralik_b
aralik_a
aralik_bb
aralik_ab
bunun icin bir tigger hazirladim. girilen aya göre ocak_bb veya ocak_ab
seklinde bakiyeleri aktariyor. yani bir nevi aylik hesap özeti tarzinda.

hersey normal gidiyor. rakamlar kümüle ediliyor.
gel gelelim ki hesap özeti olusturma esnasinda sankki calisan trigger sonsuz bir döngü icerisine giriyor ve hata veriyor.

anlatmayi tam beceremedim galiba. :) idare edin lütfen.

bu sorunu nasil cözerim. :?:

sevvgiler, saygilar...
Herkes cahildir, bazi konularda.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Çok eksik bilgi vermişsin. Bu kadar bilgi ile yardım bekleyemezsin. Verdiği hata nedir? Trigger kodun nasıl? Veritabanın nedir? Nasıl bir SQL ile hesap özetini alıyorsun?
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Mesaj gönderen hi_selamlar »

S.A.

FireBird 2.0 kullaniyorum.

isterseniz vt yi size gönderebilirim..
Herkes cahildir, bazi konularda.
metinkorkmaz
Üye
Mesajlar: 46
Kayıt: 25 May 2005 09:08
Konum: izmir

Mesaj gönderen metinkorkmaz »

Trigger ların döngüsel işleme girmiş olabilirler.

Örnegin böyle bir yapı varsa, işin içinden çıkamazsın.

trigger1
cagir trigger2

trigger2
cagir trigger1

Triggerlerini yazarsan, onlara bakarak fikir yürütülebilir. Adım adım kafandan triggerları çalıştırmayı deneyebilirsin. Triggerlar bir şekilde sona ermelidir.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bir kere Firebird 2.0 kullanmayı bırakın. Henüz alpha sürümünde ve hataları yüzünden böyle birşey yaşamış olma şansınız yüksek. Aynı tabloyu Firebird 1.5.2 de yaratıp çalıştırmayı bir deneyin, hala hata verecekmi.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Mesaj gönderen hi_selamlar »

S.A.
Hayirli CUMA lar...



arkadaslar hesabt özetini mecburen delphi de yapacagim.

firebird 2.0 gelince hta firebird de degil. bende..

trigger a

Kod: Tümünü seç

if (old.hkodu<>new.hkodu) then
fonksiyonunu eklemeyi unutmusum.. :D
onu ekledim trigger dogru sekilde calismaya basladi.

sevgiler, saygilar.
En son hi_selamlar tarafından 03 Haz 2005 02:01 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Herkes cahildir, bazi konularda.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Peki kullanın, dinlemeyin..
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Mesaj gönderen hi_selamlar »

S.A.
coderlord yazdı:Peki kullanın, dinlemeyin..
hocam haklisin. bizden daha tecrübelisin. n bilim hazir 2.0 cikmisken onunla baslim dedim de. :)

hocam peki daha sonra vt leri yeni sürümleri ile degistiriken sorun yasarmiyiz veya n tarz sorunlar yasariz.

bizleri bu konuda bilgilendirirsen seviniriz.

sevgiler ve saygilar..
hayirli cumalar..
Herkes cahildir, bazi konularda.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Hem tecrübeden, hem de FB geliştiricileri "bunu sadece test için kullanın" dedikleri için ısrar ettim. FB 2.0 alpha 1 sürümünde ciddi bir bug tespit edilmişti ve birçok kişi veritabanı bozulması yaşadı.

Geçişte ise hiçbir problem yaşamazsın. Kararlı sürüm olan 1.5.2 yi kullan. 2.0'da bir ODS değişikliği yaşanmazsa veya geriye uyumluluğu bırakmazlarsa VT'ni doğrudan kullanırsın. Aksi halde yapacağın tek şey 1.5.2 ile Transportable bir backup alıp, 2.0'da restore etmekten ibarettir. 2 dakikanı almaz.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Mesaj gönderen hi_selamlar »

S.A.

bilgini ve tecrübeni bizimle paylastigin icin tesekkur ederim.

:)
Herkes cahildir, bazi konularda.
Cevapla