用于插入表格的光标

时间:2017-09-11 15:02:40

标签: sql oracle

我想在祖先表中编写一个光标,用于从员工详细信息中获取数据。

例如,如果员工有以下详细信息:

Empid supervisor
A      B
B      C
C      D

这意味着B是A的主管,C是主管B,D是C的主管。所以我们需要在祖先表中插入整个层次结构。例如:

Empid Supervisor Level
A      A         0
A      B         1
A      C          2
A      D         3

有人可以建议我该怎么做?

1 个答案:

答案 0 :(得分:0)

试试这个

select connect_by_root empid as empid, supervisor, level
from t
connect by empid = prior supervisor
union
select empid, empid, 0
from t
;

输出将为

A   A   0
A   B   1
A   C   2
A   D   3
B   B   0
B   C   1
B   D   2
C   C   0
C   D   1