title: Recursive query for table dependencies is not recursing not as much as I'd like
body: <p>I had an idea that I could write  a query to find all the descendent tables of a root table, based on foreign keys.</p>
  
  <p>Query looks like this:</p>
  
  <pre><code>select level, lpad(' ', 2 * (level - 1)) || uc.table_name as "TABLE", uc.constraint_name, uc.r_constraint_name
  from all_constraints uc
  where uc.constraint_type in ('R', 'P')
  start with uc.table_name = 'ROOT_TAB'
  connect by nocycle prior uc.constraint_name = uc.r_constraint_name
  order by level asc;
  </code></pre>
  
  <p>The results I get look like this:</p>
  
  <pre>
          1   ROOT_TAB        XPKROOTTAB  
          1   ROOT_TAB        R_20           XPKPART_TAB
          2     CHILD_TAB_1   R_40           XPKROOTTAB
          2     CHILD_TAB_2   R_115          XPKROOTTAB
          2     CHILD_TAB_3   R_50           XPKROOTTAB
  </pre>
  
  <p>This result is all the child tables of <code>ROOT_TAB</code>, but the query does not recurse to the children of <code>CHILD_TAB_1</code>, <code>CHILD_TAB_2</code>, or <code>CHILD_TAB_3</code>. </p>
  
  <p>Recursive queries are new to me so I'm guessing I'm missing something in the <code>connect by</code> clause, but I'm drawing a blank here. Is it actually possible to get the full hierarchy of <code>ROOT_TAB</code> in a single query, or am I better off wrapping the query in a recursive procedure?</p>