Tablo guncelleme 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
oyle
Üye
Mesajlar: 137
Kayıt: 17 Eki 2006 05:53

Tablo guncelleme sorunu

Mesaj gönderen oyle »

Merhabalar,
Firbird veritabani kullanilmis bir programim var. Programda cari haraket girisinde

Kod: Tümünü seç

  update alici_satici set alici_satici.borc=coalesce(alici_satici.borc,0)+
  coalesce(new.borc,0)
  ,alici_satici.alacak=coalesce(alici_satici.alacak,0)+coalesce(new.alacak,0)
  Where alici_satici.carikodu=new.carikodu;
seklindeki kodla hareket tablosuna kayit giris yapilinca alici_satici tablosunun guncellenmesini sagliyorum.
Program cogu durumda duzgun sekilde calisirken bazi kayitlarda. alici_satici tablosunu guncellemiyor.
Ayni kayittan ust uste iki kere girince anca algiliyor.
Bu bazi musterilerde yapiyor bazilarinda yapmiyor. Neden olabilir acaba?
not:

Kod: Tümünü seç

  Where alici_satici.carikodu=new.carikodu;
bu kosul herzaman saglaniyor
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Transactionlar sonlanamıyor veya bağlantının kopması söz konusu oluyor olabilir :?:

CommitRetaining şeklinde arayınca aşağıdaki konuşmalar ve fazlasına ulaşabilirsin :idea:
viewtopic.php?t=15848
viewtopic.php?t=16616
viewtopic.php?t=14849
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
oyle
Üye
Mesajlar: 137
Kayıt: 17 Eki 2006 05:53

Mesaj gönderen oyle »

rsimsek ilginize tesekkur ederim. bu surekli olmuyor . program 7 musteride kullaniliyor cogunda herhangi bir sorun almadim. bu sorun 1 musteride oluyor. Programi Kullanan musterilerden birinin 576 musteri kaydı var ve bunlardan 26 tanesinde hareket tablosu sorunlu.
cari tutar 300 ytl gorunurken hareket tablosu 400 olabiliyor.
commit kismina baktim sorun yok gibi. siz
baglanti kopmasi demissiniz.
Baglanti kopmasinda cari hareketi girdigimde sorun cikarsa database'e (hareket tablosuna) kaydetmemesi gerekiyor. Ama bu kaydediyor sadece cari hareket tablosundaki trigertetiklenmiyor. :?

tetiklenmeyen (en azindan ben oyle dusunuyorum) triger in icerigi:

Kod: Tümünü seç

 update alici_satici set alici_satici.borc=coalesce(alici_satici.borc,0)+ 
  coalesce(new.borc,0) 
  ,alici_satici.alacak=coalesce(alici_satici.alacak,0)+coalesce(new.alacak,0) 
  Where alici_satici.carikodu=new.carikodu; 
Cevapla