Triger çalışmıyor

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
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Triger çalışmıyor

Mesaj gönderen ssteeltr »

arkadaşlar ben benim 'Gant' adında bir tablom var amacım bu tabloya kayıt eklendiği anda aynı veriler 'Golge' adlı diger tabloyada yansısın
bununiçin gant tablosunun
before insert olayına şu triger kodunu yazdım

Kod: Tümünü seç

AS
begin
  insert into GOLGE
 ( G_MAKINANO,  G_URUN,  G_SIPARISNO1,  G_IMAL1_ILK,  G_IMAL1_SON,  G_SIPARISNO2,
  G_IMAL2_ILK,  G_IMAL2_SON,  G_SIPARISNO3,  G_IMAL3_ILK,  G_IMAL3_SON,  G_SIPARISNO4,
  G_IMAL4_ILK,  G_IMAL4_SON,  G_SIPARISNO5,  G_IMAL5_ILK,  G_IMAL5_SON,  G_BASLAMA,
  G_BITIS,  G_SURE,  G_RENK,  G_SONRAKI,  G_ONCELIK,  G_ADET1,  G_METRE1,  G_ADET2,
  G_METRE2,  G_KADET1,  G_KADET2,G_CAP,G_AGIRLIK,G_KTMETRE,G_PCAP,G_KARBON,G_SEVIYE  )
 values
 ( :NEW.NEW.G_MAKINANO,  :NEW.G_URUN,  :NEW.G_SIPARISNO1,  :NEW.G_IMAL1_ILK,  :NEW.G_IMAL1_SON,  :NEW.G_SIPARISNO2,
  :NEW.G_IMAL2_ILK,  :NEW.G_IMAL2_SON,  :NEW.G_SIPARISNO3,  :NEW.G_IMAL3_ILK,  :NEW.G_IMAL3_SON,  :NEW.G_SIPARISNO4,
  :NEW.G_IMAL4_ILK,  :NEW.G_IMAL4_SON,  :NEW.G_SIPARISNO5,  :NEW.G_IMAL5_ILK,  :NEW.G_IMAL5_SON,  :NEW.G_BASLAMA,
  :NEW.G_BITIS,  :NEW.G_SURE,  :NEW.G_RENK,  :NEW.G_SONRAKI,  :NEW.G_ONCELIK,  :NEW.G_ADET1,  :NEW.G_METRE1,  :NEW.G_ADET2,
  :NEW.G_METRE2,  :NEW.G_KADET1,  :NEW.G_KADET2, :NEW.G_CAP, :NEW.G_AGIRLIK, :NEW.G_KTMETRE, :NEW.G_PCAP, :NEW.G_KARBON, :NEW.G_SEVIYE);

end
Burda sanoırım NEW.G_MAKINANO satırı gant ta eklenen yeni kaydı
temsil etmiyor etmiyorki şöyke bir hata veriyor
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 12, char 25.
aceba bu konuda bana yardım edebilirmisiniz.
yani bir tabloya eklene kaydı olduğu gibi diğer tabloya nasıl yansıtırım?
Süleyman Çelik
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

özürdilerim arkadaşlar kodu yanlış göndermişim yanisini yolluyom

Kod: Tümünü seç

AS
begin
  insert into GOLGE
 ( G_MAKINANO,  G_URUN,  G_SIPARISNO1,  G_IMAL1_ILK,  G_IMAL1_SON,  G_SIPARISNO2,
  G_IMAL2_ILK,  G_IMAL2_SON,  G_SIPARISNO3,  G_IMAL3_ILK,  G_IMAL3_SON,  G_SIPARISNO4,
  G_IMAL4_ILK,  G_IMAL4_SON,  G_SIPARISNO5,  G_IMAL5_ILK,  G_IMAL5_SON,  G_BASLAMA,
  G_BITIS,  G_SURE,  G_RENK,  G_SONRAKI,  G_ONCELIK,  G_ADET1,  G_METRE1,  G_ADET2,
  G_METRE2,  G_KADET1,  G_KADET2,G_CAP,G_AGIRLIK,G_KTMETRE,G_PCAP,G_KARBON,G_SEVIYE  )
 values
 ( NEW.G_MAKINANO,  :NEW.G_URUN,  :NEW.G_SIPARISNO1,  :NEW.G_IMAL1_ILK,  :NEW.G_IMAL1_SON,  :NEW.G_SIPARISNO2,
  :NEW.G_IMAL2_ILK,  :NEW.G_IMAL2_SON,  :NEW.G_SIPARISNO3,  :NEW.G_IMAL3_ILK,  :NEW.G_IMAL3_SON,  :NEW.G_SIPARISNO4,
  :NEW.G_IMAL4_ILK,  :NEW.G_IMAL4_SON,  :NEW.G_SIPARISNO5,  :NEW.G_IMAL5_ILK,  :NEW.G_IMAL5_SON,  :NEW.G_BASLAMA,
  :NEW.G_BITIS,  :NEW.G_SURE,  :NEW.G_RENK,  :NEW.G_SONRAKI,  :NEW.G_ONCELIK,  :NEW.G_ADET1,  :NEW.G_METRE1,  :NEW.G_ADET2,
  :NEW.G_METRE2,  :NEW.G_KADET1,  :NEW.G_KADET2, :NEW.G_CAP, :NEW.G_AGIRLIK, :NEW.G_KTMETRE, :NEW.G_PCAP, :NEW.G_KARBON, :NEW.G_SEVIYE);

end
Süleyman Çelik
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Benim anladığım kadarı ile hata verilen yerde

Kod: Tümünü seç

NEW.G_MAKINENO
burada bu eksik kalmış.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

vedat hocam yok ordad" :" var ben kopyalarken eksik kopyalamışım
hataya bakarsak 12 inci satır 8 inci karakter oda

:New. tam noktaya denk geliyor ben bu insert de value kısmına gantta eklenen yeni değerleri nasıl yazacam
problem value kısmında
Süleyman Çelik
snofru
Üye
Mesajlar: 204
Kayıt: 19 Ağu 2004 02:57
Konum: /local/usr/src
İletişim:

Mesaj gönderen snofru »

Hocam şimdiki en makul tavsiyem, bu insert into işini SP ye yaz, Trigger içinden SPye parametre yolla bırak o işlesin. Önce bu yapıya çevir ve dene, hata alırsan SQL de bi şey var demektir, IBExperttte bi çalıştır SQL bi bak hele, trigger mı bosuk SQL mi anlayalım değil mi? Ama SP ye at göreyi, ilerde bu tabloya böyle bişey işlemen gerekirse SP yi execute eder geçersin.

Bu arada işaretlerini de kaldır. Tümünde...

Kolay gele...[/code]
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

Bende sp yazmak isterdim ancak sp ye değer gönderemiyorum çünkü onu delphiden çağıramam

programın kodlarını değiştiremiyom bu yüzden benim amacım GANT " tablosuna gelen değerleri yakalayıp GOLGE tablosuna kaydetmek

Buda sanırım ancak GANT tablosunun before insert olayında yeni değerleri yakalayıp onları GOLGE tablosuna ekleyecek bir triger

bana ganta gelen degeri yakalayıp golge tablosuna ekleyecek bir kod!!
Süleyman Çelik
snofru
Üye
Mesajlar: 204
Kayıt: 19 Ağu 2004 02:57
Konum: /local/usr/src
İletişim:

Mesaj gönderen snofru »

Peki. Amacınız sadece Insert ise dediğim gibi ":" (noktalı virgül) işaretlerini kaldırarak After Insert'de bi deneyin... Bu tip durumlarda SQL i kısacık hale sokup denemenizde fayda vardır? İşi parçalayın, deneyin, yerse, SQL i büyütün. Bakın şu anda hata Trigger yazım kuralları dışında mı yoksa SQL mi hatalı bilemiyoruz. Parçalayıp denemek sıkıntılarını anlamanıza ve çözmenize yardımcı olur.
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

snofru kardeş teşekkürler
: kaldırıp yerine Gant. yazdım ve after inser olayına ekledim problem çözüldü
Süleyman Çelik
Cevapla