Merhaba arkadaşlar, veritabanında bir tabloya kayıt eklediğim zaman aşağıdaki triger ile personel tablosundaki ilgili alanlarda güncelleme yapmak istiyorum fakat insert işleminden sonra
"mysql trigger subquery returns more than 1 row" hatasını alıyorum. sorun neden kaynaklanıyor
BEGIN
if (select GELIRISTISNA from personel where TC=new.TC)>new.GVISTISNA THEN
update personel set GELIRISTISNA=GELIRISTISNA-new.GVISTISNA where TC=new.TC ;
else
update personel set GELIRISTISNA=0 where TC=new.TC;
END if;
if (select DAMGAISTISNA from personel where TC=new.TC)>new.DVISTISNA THEN
update personel set DAMGAISTISNA=DAMGAISTISNA-new.DVISTISNA where TC=new.TC ;
ELSE
update personel set DAMGAISTISNA=0 where TC=new.TC ;
end if;
UPDATE personel set MATRAH=MATRAH+new.BRUT where TC=new.TC;
END
"mysql trigger subquery returns more than 1 row" hatasını alıyorum. sorun neden kaynaklanıyor
BEGIN
if (select GELIRISTISNA from personel where TC=new.TC)>new.GVISTISNA THEN
update personel set GELIRISTISNA=GELIRISTISNA-new.GVISTISNA where TC=new.TC ;
else
update personel set GELIRISTISNA=0 where TC=new.TC;
END if;
if (select DAMGAISTISNA from personel where TC=new.TC)>new.DVISTISNA THEN
update personel set DAMGAISTISNA=DAMGAISTISNA-new.DVISTISNA where TC=new.TC ;
ELSE
update personel set DAMGAISTISNA=0 where TC=new.TC ;
end if;
UPDATE personel set MATRAH=MATRAH+new.BRUT where TC=new.TC;
END