Bu trigger çalışmıyor Ama neden

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kilitli
Kullanıcı avatarı
kuntay
Üye
Mesajlar: 86
Kayıt: 08 Tem 2003 09:41
Konum: İçel
İletişim:

Bu trigger çalışmıyor Ama neden

Mesaj gönderen kuntay »

Trigger SP bir deneme yapim dedim örnekleri inceledim
seminere baktım

Dedim kendi kendime bir test yapim
Tablolar
CREATE TABLE CARI (
BILKOD INTEGER NOT NULL, (PK)
CARI_UNVAN VARCHAR(35),
BORC NUMERIC(15,0),
ALACAK DOUBLE PRECISION,
BAKIYE DOUBLE PRECISION
);

CREATE TABLE CARIHAREKET (
CH_BILKOD INTEGER NOT NULL, (PK)
CR_BILKOD INTEGER, (FK)
ACIKLAMA VARCHAR(50),
ALACAK NUMERIC(15,2),
BORC NUMERIC(15,2)
);

cari hareket tablosunda bir borç hareketi olursa cari tablosunun borç hanesine işlesin alacak olursa cari tablosunun cari hanesinde alacak kısmına

ama kayıtlar giriyom yok bişe trigger kodunu verim bir de siz fikir üretin

Kod: Tümünü seç

AS
begin
     if (new.alacak=0) then begin
  update cari set
  cari.borc=cari.borc+new.borc

  where
     new.CR_BILKOD=cari.bilkod;

           update cari set
    cari.bakiye=cari.borc-cari.alacak

  where
     new.cr_bilkod=cari.bilkod;
       end
   else
  if (new.borc=0) then begin
      update cari set
    cari.alacak=cari.alacak+new.alacak
    where
    new.cr_bilkod=cari.bilkod;

           update cari set
       cari.bakiye=cari.borc-cari.alacak
    where
    new.cr_bilkod=cari.bilkod;


  end
  /* Trigger text */
end
after insertte denedim befor insertte denedim yok olmuyor

Bir de anlayamadığım şey bu hesaba benzer işler trigger ilemi yapılır yoksa SP ilemi yapılır.
Trigger ve SP aynı işlerimi yapabiliyor.
SP konusunu şöyle düşünüyorum :
SP değer alabilir değişkenleri olabilir tanımlanabilir ve dışardan her türlü yerden çalıştırılır. peki trigger ne yapamaz Sp den farklı
veya sp triggerin yaptığı neyi yapamaz yada trigger sp nin yaptığı neyi yapamaz.

Ya nerden vardın bu konuya diyeceksini şimdi bir örneğe bakıyorum buna benzer bir hesap işinde Sp kullanılmış trigger ile tetiklenmiş
bir bakıyorum sadece trigger de yapılmış

SAyın moderatörlerim adminlerim
sizler triggerde neleri SP de neleri yaparsınız .
Ol deyince olduran Gönüllerimizi imanla dolduran
Yüce Allahın doksandokuz ismi ile.. Selamın Aleyküm
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: Bu trigger çalışmıyor Ama neden

Mesaj gönderen White Rose »

trigerde after insert olaylarında new. parametresi
after update ve delete olaylarında old. parametresini kullanarak
kodlarınızı yazın. Gerekirse bu kodları parametre ile SP ye gönderebilirsiniz.
Bu daha kullanışlı olur. Daha fazla kod yerine az kod yazarsınız.
Bir de delphi tarafında table/dataset'in after post/after delete olaylarından sonra commit edin ve
değişiklikleri görmek için tablenizi/datasetinizi refresh edin yada kapatıp açın.
Kullanıcı avatarı
kuntay
Üye
Mesajlar: 86
Kayıt: 08 Tem 2003 09:41
Konum: İçel
İletişim:

Re: Bu trigger çalışmıyor Ama neden

Mesaj gönderen kuntay »

Kardeş ben kodu gönderdim insert trigger ekliyorum orda görünüyor
ve new kullandım yani söylediğin herşey yapılmış durumda ama çalışmıyor bu trigger

delphi tarafına hiç gitme bile ben IB Expert de deniyorum ama hiç bir şey olduğu yok

Anlatabildim mi? Şuan sorun verdiğim örnek çalışmıyor
Ol deyince olduran Gönüllerimizi imanla dolduran
Yüce Allahın doksandokuz ismi ile.. Selamın Aleyküm
Kullanıcı avatarı
kuntay
Üye
Mesajlar: 86
Kayıt: 08 Tem 2003 09:41
Konum: İçel
İletişim:

Re: Bu trigger çalışmıyor Ama neden

Mesaj gönderen kuntay »

Arkadaşlar yokmu acaba bu soruya cevap ya hadi diğer soruları geçtim
şu trigger neden işlem yapmıyor

Cari hareket tablosundaki borç bilgisini
Cari tablosunda borç hanesine toplatmak istiyorum

tek istediğim bu şimdilik
Ol deyince olduran Gönüllerimizi imanla dolduran
Yüce Allahın doksandokuz ismi ile.. Selamın Aleyküm
Kilitli