Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Ticari yazılım için trigger örneği  (Okunma sayısı 2913 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı selo

  • Kıdemli Üye
  • *****
  • İleti: 69
  • Rep: +0/-0
Ticari yazılım için trigger örneği
« : 03 Haziran 2007 10: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.
Kod: [Seç]
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
Kod: [Seç]
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
Kod: [Seç]
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.

Çevrimdışı Kocaturk

  • Administrator
  • *****
  • İleti: 2.474
  • Rep: +56/-5
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Ticari yazılım için trigger örneği
« Yanıtla #1 : 03 Haziran 2007 13:13:47 »
Eline sağlık paylaşım için teşekkürler

Çevrimdışı selo

  • Kıdemli Üye
  • *****
  • İleti: 69
  • Rep: +0/-0
Ynt: Ticari yazılım için trigger örneği
« Yanıtla #2 : 03 Haziran 2007 16:46:59 »
rica ederim