[SORU]-MySQL Trigger Sorunu !

Diğer 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ı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

[SORU]-MySQL Trigger Sorunu !

Mesaj gönderen hi_selamlar »

S.A. Arkadaşlar.

MySQL 5

Resim

Yukarıdaki resimdede gördüğünüz yapıya sahip 2 tablom var.

Amacım;
Ana tablodan girilen her satırı SONUC tablosundan ANA_ID ile sorgulayıp var ise güncelleme yok ise Yeni kayıt ekleme
işlemini gerçekleştirmek istiyorum.

Bunun için gittiği yol ise;

SP oluşturdum ve bunu Trigger ile cağırıp ilgili parametreleri geçip işlemimi yapıyorum.

Kullandığım SP ;

Kod: Tümünü seç

 SELECT COUNT(*) INTO @KAYIT_SAY FROM SONUC
   WHERE SONUC.ANA_ID=PARAMETRE_ILE_GELEN_ID;
   
   IF @KAYIT_SAY>0 THEN
   
      UPDATE SONUC
       SET
         ..........
         ..........
       WHERE
        SONUC.ANA_ID=PARAMETRE_ILE_GELEN_ID
        
   END IF;
   
   IF @KAYIT_SAY<=0 THEN
      INSERT INTO SONUC (SAHALAR) 
                  VALUES (PARAMETRE_ILE_GELEN_DIGER_DEGISKENLER);   
   END IF;
BU SP yi

ANA tablonun,

Kod: Tümünü seç

AFTER  INSERT =CALL CEK_OTOMATIK_KAYIT_EKLE(NEW.ANA_ID,NEW.TARIH); 
vs... 

Kod: Tümünü seç

AFTER  UPDATE =CALL CEK_OTOMATIK_KAYIT_EKLE(NEW.ANA_ID,NEW.TARIH); 
vs... 

Kod: Tümünü seç

AFTER  DELETE =CALL CEK_OTOMATIK_KAYIT_EKLE(OLD.ANA_ID,OLD.TARIH); 
vs... 

SORUN İSE ŞU ;

Kod: Tümünü seç

HERŞEY ÇALIŞIYOR. ANA TABLODAN SONUC TABLOSUNA KAYIT AKTARILIYOR FAKAT
ANA_ID İÇİN ANA TABLONUN ID SİNİ BİR TÜRLÜ AKTARMIYOR. YANİ BOŞ (NULL) OLARAK GELİYOR.
ACABA HATA NEREDE ?

[b]ANA TABLONUN ID SİNİ >>> SONUC TABLOSUNDA Kİ ANA_ID YE AKTARMA İŞLEMİNİ YAPMIYOR.????[/b]
SEVGİLER, SAYGILAR

S.A.
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: [SORU]-MySQL Trigger Sorunu !

Mesaj gönderen vkamadan »

Merhaba ,
CEK_OTOMATIK_KAYIT_EKLE isimli SP yi resimde yapısını gönderdiğiniz ANA isimli tablonun trigger 'ından çağırıyorsanız, ANA isimli tabloda ANA_ID isimli bir alan olmadığı için NEW. yada OLD. da ANA_ID isimli bir alana bilgi gelmez NULL olması doğaldır.

Kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla