ORACLE 递归算法
概念:
所谓递归算法,是指把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。递归过程一般通过函数或子过程来实现,本文主要研讨了递归算法在oracle数据库树形结构表中的查询应用技术。
语法:
select [level],column,expr... from table
[where condition]
start with condition
connect by [prior column1 = column2
| column1 = prior column2];
例一:
查找empno=7369的员工的所有上级领导
select ename,empno,mgr from emp
start with empno=7369
connect by empno=prior mgr;
如图求出需要的领导信息。
还可以输出成这样的形式:
select ename,empno,mgr,
substr(sys_connect_by_path(ename,'->'),3) from emp
start with empno=7369
connect by empno=prior mgr;