Re: Kompletten Ast eines Trees auflisten (rekursiv)
geschrieben von:
MausFamM (---.adsl.alicedsl.de)
Datum:
Guten Abend Zusammen,
habe das Problem selbst lösen können. Mittels drei Funktionen konnte ich das ganze doch ohne Rekursion lösen *freu*.
Aber nochmal ein großes DANKE für die beiden schnellen Antworten von cc13 und Hacke1!!!
Hier die eigentliche Schleife (für alle die, die an ähnlichem hängen):
---------------------------------------------------------------------------
create or replace FUNCTION "G3_GETPATH" (p_nodeid in NUMBER)
RETURN VARCHAR2
IS
v_path VARCHAR2(1000);
v_currentid NUMBER;
v_dem CONSTANT VARCHAR2(2) DEFAULT '>>';
BEGIN
v_currentid := p_nodeid;
WHILE (v_currentid != 0) LOOP
IF p_nodeid != v_currentid THEN
v_path := G3_GETNAME( v_currentid ) || v_dem || v_path;
ELSE
v_path := G3_GETNAME( v_currentid );
END IF;
v_currentid := G3_GETPARENT( v_currentid );
END LOOP;
RETURN v_path;
END;
---------------------------------------------------------------------------
Gute Nacht
Markus