Uncategorized

Viele Hierarchien gleichzeitig navigieren

Nehmen wir an Sie hätten eine grosse Anzahl flacher Hierachien. Als Beispiel nehmen wir die emp table aus dem Scott Schema.
Daraus erzeugen wir eine Tabelle Tree_emp wie folgt:


create table tree_emp as select * from emp;

alter table tree_emp modify (empno number(18));
alter table tree_emp modify (mgr number(18));


INSERT INTO tree_emp
            ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO
            )
SELECT EMPNO+(10000*step.n) empno,
       ENAME,
       JOB,
       MGR+(10000*step.n) mgr,
       HIREDATE,
       TRUNC(DBMS_RANDOM.value(low => 8, high => 50))*100 SAL,
       COMM,
       DEPTNO
  FROM emp,
       (SELECT rownum n FROM dual CONNECT BY rownum <= 1000000
       ) step
;

Weisen Sie für alle Presidenten (mgr is Null) die Summe der Gehälter sämtlicher Untergebener aus. Schreiben Sie dau eine pipeline table function, die mehrere Bäume gleichzeitig navigieren kann. Verwenden Sie Oracle’s connect by Syntax für die Baumnavigation.
Sie können nach Belieben indexieren.

Advertisements