Moin,
warum rekursiv wenn es auch iterativ geht? Die Loesung heisst Nested set. Ein paar Artikel dazu:
http://www.codeproject.com/KB/database/nestedsets.aspx (Die Queries sind zwar fuer
MSSQL geschrieben, aber die Theorie sollte rueberkommen)
http://www.developersdex.com/gurus/articles/112.asp
http://www.developer.com/db/article.php/3517366
Der Vorteil der Sets ist, dass du die Elemente mit einem
Query rausziehen kannst:
SELECT * FROM foo ORDER BY left_id ASC
Anschliessend musst du nur noch einmal ueber das Ergebnis drueberiterieren und entsprechend einruecken. So kriegst du auch bei riesigen (mein groesster Test war ~ 2 Mio. Blaetter) Baeumen kein Problem mitm Stack
Greetz
alcaeus