PL/SQL :如何使用 table 中的行显示/导出层次树
PL/SQL : how to display / export hierarchical tree with lines from table
我想知道如何显示(dbms_output
或 select
)或如何导出分层树数据(使用 | ____
显示树的结构)。
有什么想法吗?
假设 table 是 employee
table(来自实践),其中 manager_id
和 department_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 树)。
我想知道如何显示(dbms_output
或 select
)或如何导出分层树数据(使用 | ____
显示树的结构)。
有什么想法吗?
假设 table 是 employee
table(来自实践),其中 manager_id
和 department_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 树)。