Ticari yazılım için trigger örneği Gönderen: selo Tarih: 03 June 2007 11:27:30
s.a uzun zamandır işlerimin yoğunluğundan siteyi ziyaret edemiyordum.kusura bakmayın .Cari Hareketlerden borc,alacak,bakiye durumunu carikartlara trigger ile yazma metoduna bir örnek vericem.ben hem carişlemden hemde faturalaradan carikartlara ekleyip,silme.update işlemleri için tam 6 trigger yazmuştım.Ben sadece cariişlemlerden aktardığım trigger örneğini vericem.İnsert işlemi için.
AS
begin
if (new.alacak=0) then begin
update carikartlari set
carikartlari.borc=carikartlari.borc+new.borc
where
new.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
new.ckodu=carikartlari.c_kodu;
end
else
if (new.borc=0) then begin
update carikartlari set
carikartlari.alacak=carikartlari.alacak+new.alacak
where
new.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
new.ckodu=carikartlari.c_kodu;
end
/* Trigger text */
end
Update işlemi için de
AS
begin
if (old.alacak=0) then begin
update carikartlari set
carikartlari.borc=carikartlari.borc-old.borc
where
old.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
old.ckodu=carikartlari.c_kodu;
end
if (new.alacak=0) then begin
update carikartlari set
carikartlari.borc=carikartlari.borc+new.borc
where
new.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
new.ckodu=carikartlari.c_kodu;
end
else
if (old.borc=0) then begin
update carikartlari set
carikartlari.alacak=carikartlari.alacak-old.alacak
where
old.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
old.ckodu=carikartlari.c_kodu;
end
if (new.borc=0) then begin
update carikartlari set
carikartlari.alacak=carikartlari.alacak+new.alacak
where
new.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
new.ckodu=carikartlari.c_kodu;
end
Ve delete işlemi için bu triggeri yazmıştım
AS
begin
if (old.alacak=0) then begin
update carikartlari set
carikartlari.borc=carikartlari.borc-old.borc
where
old.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
old.ckodu=carikartlari.c_kodu;
end
if (old.borc=0) then begin
update carikartlari set
carikartlari.alacak=carikartlari.alacak-old.alacak
where
old.ckodu=carikartlari.c_kodu;
update carikartlari set
carikartlari.bakiye=carikartlari.borc-carikartlari.alacak
where
old.ckodu=carikartlari.c_kodu;
end
/* Trigger text */
end
bunu cariharek tablosunu before eventine yazmıştım.Kolay gelsin.
Ynt: Ticari yazılım için trigger örneği Gönderen: kocaturk Tarih: 03 June 2007 14:13:47
Eline sağlık paylaşım için teşekkürler
Ynt: Ticari yazılım için trigger örneği Gönderen: selo Tarih: 03 June 2007 17:46:59
rica ederim