firebird1,5 de yapılmış trigger

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

firebird1,5 de yapılmış trigger

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

 CREATE TRIGGER CARIHESAP_AU0 FOR CARIHESAP
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
 CARIHESAP.bakiye = carihesap.borc - carihesap.ALACAK ;
end
ben bu kodu firebird 1.5 te oluşturmuştum

artık firebird2,0 kullanıyorum bu trigger orda da çalışıyor

ama başka bir vt de

Kod: Tümünü seç

CREATE TRIGGER MUSTERI_BU0 FOR MUSTERI
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
musteri.bakiye = MUSTERI.alacak - MUSTERI.borc ;
end 
bu triggeri oluştururken
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
MUSTERI.ALACAK.
At line 5, column 26.
diye hata alıyorum

acaba nedendir.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

Slm..
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
MUSTERI.ALACAK.
At line 5, column 26.
ALACAK alanını tanımıyor..Oluşturmak istediğin vt de ALACAK alanın var mı ?
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

işte zaten problem de orda ya

tablonun ddl si

Kod: Tümünü seç

CREATE TABLE MUSTERI (
    ID            INTEGER NOT NULL,
    ADISOYADI     VARCHAR(50),
    ADRESI        VARCHAR(255),
    TELEFON       TELEFON /* TELEFON = VARCHAR(20) */,
    FAX           TELEFON /* TELEFON = VARCHAR(20) */,
    GSM           TELEFON /* TELEFON = VARCHAR(20) */,
    BORC          PARA /* PARA = DOUBLE PRECISION */,
    ALACAK        PARA /* PARA = DOUBLE PRECISION */,
    BAKIYE        PARA /* PARA = DOUBLE PRECISION */,
 
);
anlamadığımda o işte alan olduğu halde neden bu hatayı veriyor.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Re: firebird1,5 de yapılmış trigger

Mesaj gönderen Uğur1982 »

Kod: Tümünü seç

CREATE TRIGGER MUSTERI_BU0 FOR MUSTERI
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
musteri.bakiye = MUSTERI.alacak - MUSTERI.borc ;
end 
Belki ufak harf kullandığın için olabilir..Büyük harfe çevirip öyle deneyebilirsin...
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: firebird1,5 de yapılmış trigger

Mesaj gönderen ALUCARD »

Uğur1982 yazdı: Belki ufak harf kullandığın için olabilir..Büyük harfe çevirip öyle deneyebilirsin...
hocam firebird bu konularda buyk küçük harf ayrımı yapmıyor

ama ben onuda denedim zaten

hatta ve hatta

Kod: Tümünü seç

 "musteri.bakiye" = "MUSTERI.ALACAK" -"MUSTERI.borc" ;
 'musteri.bakiye' = 'MUSTERI.ALACAK' - 'MUSTERI.borc' ;
şekillerinde de denedim nafile
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

ama başka bir vt de
Bunu hangi vt de oluşturuyorsun ?
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.

Kod: Tümünü seç

musteri.alacak
yerine

Kod: Tümünü seç

new.alacak
şeklinede denediniz mi?
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

hocam çook teşekkür ederim hiç bunu denemek aklıma gelmemişti :oops:

çünkü firebird 1,5 te bunu yapmıştım ve çalışmıştı.

ama firebird2,0 çalışmadı diye kafayı yicektim azdaha

ama şimdi halloldu

Kod: Tümünü seç

new.bakiye = new.ALACAK - new.borc ;
şeklinde yazında çalışıyor artık. :bravo: :eyo: :bravo: :eyo:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Cevapla