1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| WITH t AS (
SELECT '' PARENT, 'A' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'B' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'C' enfant FROM dual
UNION ALL SELECT 'C' PARENT, 'D' enfant FROM dual
UNION ALL SELECT 'D' PARENT, 'E' enfant FROM dual
UNION ALL SELECT '' PARENT, 'H' enfant FROM dual
UNION ALL SELECT 'D' PARENT, 'F' enfant FROM dual
UNION ALL SELECT 'C' PARENT, 'G' enfant FROM dual
UNION ALL SELECT 'H' PARENT, 'D' enfant FROM dual
)
SELECT LEVEL, PARENT || ' => ' ||enfant donnee, LTRIM(SYS_CONNECT_BY_PATH(PARENT, '/'), '/') AS chemin
FROM t
WHERE PARENT IS NOT NULL
CONNECT BY PARENT = PRIOR enfant
START WITH PARENT IS NULL |
Partager