trigger ile sıra no'lu veritabanına ekleme sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
penguen
Üye
Mesajlar: 93
Kayıt: 31 Mar 2006 11:58

trigger ile sıra no'lu veritabanına ekleme sorunu

Mesaj gönderen penguen »

Arkadaşlar trigger ile siteden araştırdığım sıra no ile kaydı ibexpert ile yapabiliyorken(trigger ile otomatik oluşturma) delphi ile bunu yapamadım. Anlam veremediğim hatayı alıyorum.


Burada sıra no alanı olarak borc_id alanım var.
Trigger alanım;

Kod: Tümünü seç

AS
DECLARE VARIABLE MAXSIRA INTEGER;
begin
  /* Trigger text */
  if (NEW.BORC_ID IS NULL) then
  BEGIN 
     SELECT coalesce(MAX(BORC_ID),0)+1 FROM borc INTO NEW.BORC_ID;
   END
end

Delphi kodum;

Kod: Tümünü seç

    With DM_MUSTERI.IBD_borc Do Begin
         Edit;
         Post;
      End;

Hata mesajında sıra olarak kullandığım borç_id alanıma değer girmeliymişim fakat ibexpert ile bu alana değer girmeden(trigger ile değer atıyorum) kayıt yapabiliyorum.
Benim kafam karıştı nerede hata yapıyorum.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bir tane generator oluşturup, before insert triggerında aşağıdaki kodu yazın :

if (new.borc_id is null) then
new.borc_id = gen_id(borc_id_gen, 1);

* borc_id_gen : oluşturduğumuz generatorün adı.

Kolay gelsin.
Cevapla