ops$tkyte@ORA10GR2> l
1 with temp
2 as
3 (
4 select a.table_name child, b.table_name parent
5 from user_constraints a, user_constraints b
6 where a.constraint_type = 'R'
7 and a.r_constraint_name = b.constraint_name
8 )
9 select parent, rpad( '*', level, '*' ) || child child
10 from temp
11 start with parent = 'P'
12* connect by prior child = parent
ops$tkyte@ORA10GR2> /
PARENT CHILD
------------------------------ ----------
P *C1
C1 **C2
P *C3
C3 **C4
C4 ***C5
should be ok in 9ir2 and above...
same caveats apply - tables with multiple parents, recursive relationships....