PL/SQL:如何显示/导出带有表中行的层次结构树

PL/SQL:如何显示/导出带有表中行的层次结构树,sql,oracle,hierarchical-data,Sql,Oracle,Hierarchical Data,我想知道如何显示dbms_输出或选择,或者更好地使用| uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 有什么想法吗 假设这个表是practice中的employee表,您将经理id和部门id连接在一起 SQL> select substr(lpad(lpad('|-', level * 2, '| ') || ename, 2 length(ename)

我想知道如何显示dbms_输出或选择,或者更好地使用| uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

有什么想法吗

假设这个表是practice中的employee表,您将经理id和部门id连接在一起

SQL> select substr(lpad(lpad('|-', level * 2, '| ') || ename,
  2                length(ename) + (level * 2 ),
  3                ' '
  4              ), 3) result
  5  from emp
  6  start with mgr is null
  7  connect by prior empno = mgr;

RESULT
-----------------------------------------------------------------
KING
|-JONES
| |-SCOTT
| | |-ADAMS
| |-FORD
| | |-SMITH
|-BLAKE
| |-ALLEN
| |-WARD
| |-MARTIN
| |-TURNER
| |-JAMES
|-CLARK
| |-MILLER

14 rows selected.

SQL>

有可能,但在我看来很丑陋。使用其他工具,如Oracle Apex tree。

您希望它绘制树的结构吗?这不是SQL擅长的任务类型—最好是有一个带有深度列的有序输出,然后有一个前端语言/系统来绘制树。