FireBird Triger İşlemleri

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ı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

FireBird Triger İşlemleri

Mesaj gönderen husonet »

S.A.

Arkadaşlar Triger işlemleri yaparken örneğin.

Kod: Tümünü seç

   if (nakitislemler.borc is null) then
    update carikart SET carikart.alacak = carikart.alacak + nakitislemler.alacak where CARIKART.carikod = nakitislemler.carikod;
  Else
    update carikart SET carikart.borc = carikart.borc + nakitislemler.borc where CARIKART.carikod = nakitislemler.carikod;
bu tip bir kodlama işlem sonucu 0 denk gelmesi gereken alan değerini Null'a döndürüyor bu işlem sonucunda 0 dönmesi gereken Null değeri 0'a nasıl döndürebilirim. Basit yoldan fikirlerinizi yazarsanız sevinirim.

Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Re: FireBird Triger İşlemleri

Mesaj gönderen rsimsek »

husonet yazdı:

Kod: Tümünü seç

   if (nakitislemler.borc is null) then
    update carikart SET carikart.alacak = carikart.alacak + nakitislemler.alacak 
    where CARIKART.carikod = nakitislemler.carikod;
  Else
    update carikart SET carikart.borc = carikart.borc + nakitislemler.borc 
where CARIKART.carikod = nakitislemler.carikod;
Hüseyin kardeş, bildiğim kadar SQL içinde bir değişkeni null olan bir değerle işleme tabi tutarsan sonuç da NULL olur!

Yazdığın kodu;

Kod: Tümünü seç


   if (nakitislemler.borc is null) then
   begin
      if (nakitislemler.alacak is not null) then
        update carikart SET carikart.alacak = carikart.alacak + nakitislemler.alacak where CARIKART.carikod = nakitislemler.carikod;
  end
  Else
  begin
    if (nakitislemler.borc is not null)
       update carikart SET carikart.borc = carikart.borc + nakitislemler.borc where CARIKART.carikod = nakitislemler.carikod;
  end;
Ben NULL değilse işlem yap dedim ama NULL ise "0" sıfır ataması da yaptırılabilir!

Ayrıca diğer alanların da (carikart.borc, carikart.alacak) null olup olmadıklarını kontrol etmekte fayda var.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Recep Abi Demişki
Ben NULL değilse işlem yap dedim ama NULL ise "0" sıfır ataması da yaptırılabilir!

Ayrıca diğer alanların da (carikart.borc, carikart.alacak) null olup olmadıklarını kontrol etmekte fayda var.
Hocam zaten bende öğle yapıyorum ama kod kalabalıklığı çok oluyor. Her işlemde çıkan değerin null olup olup olmadığını kontrol etmek çok sıkıcı oluyor.

Teşekkür Ederim...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Kuri_TLJ IsNull şeklinde bir UDF göndermişti. Arama kısmından bir baksana.

buldum : viewtopic.php?t=674&highlight=isnull
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hemen bakıyorum. Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

linki bulup yazdım :)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Evet Hocam Okudum yanlız burada Hatice Netice'ye bağlanamamış :) :idea:


Bu arada Hızınız için Maaşallah :)

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

ibphoenix.com 'da şu dosyayı buldum. İçinde isNull fonksyonu da varmış.

http://www.amsoftwaredesign.com/downloads/tudf.zip (50 KB)
UDF library ported to Delphi and Kylix that contains the fbudf functions created by Claudio Valderama (NVL ,ISNULL etc) plus a number of other useful functions.

Null and dow/sdow functions added on 3 July 2002 by Anthony J. Caduto.
Original Null functions by Claudio Valderama.
Special thanks to:
Ann Harrison: Provided varchar,cstring and text formats that are passed by descriptor.
Rudy Velthuis: Helped with buffer to string routines.
Henner Kollman: Ported the setnull and isnull functions.
And everyone else who helped from the Firebird-devel newsgroup.
Kolay gelsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hocam Teşekkürler. Yalnız bunu Triger'a nasıl adapte edeceğim Aklım karıştı :roll:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla