dans mon blog je mentionne "_new_connect_by_enabled", mais il est possible que ce paramètre soit apparu en 8.1.7.4.
Sinon en plsql, sans connect by...
1 2 3 4 5 6 7
| create or replace function lsc_f(empno number) return varchar2 is
emp lsc_emp%rowtype;
begin
select * into emp from lsc_emp where empno=lsc_f.empno;
return case when emp.mgr is not null then lsc_f(emp.mgr) end||'/'||emp.ename;
end;
/ |
select empno, ename, lsc_f(empno) str from lsc_emp;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| EMPNO ENAME STR
---------- ---------- ------------------------------
7839 KING /KING
7566 JONES /KING/JONES
7902 FORD /KING/JONES/FORD
7369 SMITH /KING/JONES/FORD/SMITH
7698 BLAKE /KING/BLAKE
7499 ALLEN /KING/BLAKE/ALLEN
7521 WARD /KING/BLAKE/WARD
7654 MARTIN /KING/BLAKE/MARTIN
7782 CLARK /KING/CLARK
7788 SCOTT /KING/JONES/SCOTT
7844 TURNER /KING/BLAKE/TURNER
7876 ADAMS /KING/JONES/SCOTT/ADAMS
7900 JAMES /KING/BLAKE/JAMES
7934 MILLER /KING/CLARK/MILLER |
Partager