Timuçin bey,

belki sorunuza cevap olmayacak ama, sorununuza bir çözüm önerisi olacak : )

tabloyu

id
parent_id
ad
kod
total
childs_total

şeklinde yapar da trigger'lar yardımıyla childs_total değerlerini
güncel tutarsanız sorunununuz çözülür.

trigger'larla nasıl yapılır dersek; bir UPDATE triggeri icinde

UPDATE tablo SET childs_total = childs_total + NEW.total WHERE id =
NEW.parent_id; UPDATE tablo SET childs_total = childs_total -
OLD.total WHERE id = OLD.parent_id;

kullanarak yapabilirsiniz. hatta insert'lerde de total 0'dan farklı
oluyorsa onun için de INSERT triggeri icinde

UPDATE tablo SET childs_total = childs_total + NEW.total WHERE id =
NEW.parent_id;

yapmak yeterli olacaktır gibi gibi : )

DELETE için yapılması gerekeni de artık hayal edersiniz :)

Not: Veritabanı sunucuları hakkında detaylı bilgi sahibi olmadığımdan
Trigger'ların ne kadar verimli/verimsiz olduğu konusunda hiçbir fikrim
yok. Sadece veritabani sistemleri dersinde ilgimi çeken triggerlar ile
ilgili birkaç örnek yapmaya çalışırken bir puanlama sistemi için
benzer birşey düşünmüştüm. Ordan akılmda kalan düzensiz bilgiler ...

--
Husrev
[email protected]
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap