MySQL 5
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;
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]
S.A.