Hierarchical Query Oracle PLSQL

SQL>
SQL>
SQL> CREATE TABLE DEPT (DEPTNO NUMBER(2),DNAME VARCHAR2(14),LOC VARCHAR2(13) );
Table created.
SQL>
SQL> INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
1 row created.
SQL> INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
1 row created.
SQL> INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
1 row created.
SQL> INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');
1 row created.
SQL>
SQL>
SQL> CREATE TABLE EMP
  2  (EMPNO NUMBER(4) NOT NULL,
  3   ENAME VARCHAR2(10),
  4   JOB VARCHAR2(9),
  5   MGR NUMBER(4),
  6   HIREDATE DATE,
  7   SAL NUMBER(7, 2),
  8   COMM NUMBER(7, 2),
  9   DEPTNO NUMBER(2)
 10  );
Table created.
SQL>
SQL> INSERT INTO EMP VALUES (7369, 'SMITH',  'CLERK',     7902,TO_DATE('17-DEC-1980', 'DD-MON-YYYY'),  800, NULL, 20);
1 row created.
SQL> INSERT INTO EMP VALUES (7499, 'ALLEN',  'SALESMAN',  7698,TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600,  300, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7521, 'WARD',   'SALESMAN',  7698,TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250,  500, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7566, 'JONES',  'MANAGER',   7839,TO_DATE('2-APR-1981', 'DD-MON-YYYY'),  2975, NULL, 20);
1 row created.
SQL> INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN',  7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7698, 'BLAKE',  'MANAGER',   7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'),  2850, NULL, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7782, 'CLARK',  'MANAGER',   7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'),  2450, NULL, 10);
1 row created.
SQL> INSERT INTO EMP VALUES (7788, 'SCOTT',  'ANALYST',   7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
1 row created.
SQL> INSERT INTO EMP VALUES (7839, 'KING',   'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
1 row created.
SQL> INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN',  7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'),  1500,    0, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7876, 'ADAMS',  'CLERK',     7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
1 row created.
SQL> INSERT INTO EMP VALUES (7900, 'JAMES',  'CLERK',     7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'),   950, NULL, 30);
1 row created.
SQL> INSERT INTO EMP VALUES (7902, 'FORD',   'ANALYST',   7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'),  3000, NULL, 20);
1 row created.
SQL> INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK',     7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), null, NULL, 10);
1 row created.
SQL>
SQL> select * from dept;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
4 rows selected.
SQL>
SQL> select lpad('*', 2*level, '*' ) || ename empName, dname, job, sys_connect_by_path( empno, '.' ) cbp
  2      from emp, dept
  3     where emp.deptno = dept.deptno
  4     start with mgr is null
  5     connect by prior empno = mgr
  6     order siblings by ename;
EMPNAME         DNAME          JOB
--------------- -------------- ---------
CBP
----------------------------------------------------------------------------------------------------
**KING          ACCOUNTING     PRESIDENT
.7839
****BLAKE       SALES          MANAGER
.7839.7698
******ALLEN     SALES          SALESMAN
.7839.7698.7499
******JAMES     SALES          CLERK
.7839.7698.7900
******MARTIN    SALES          SALESMAN
.7839.7698.7654
******TURNER    SALES          SALESMAN
.7839.7698.7844
******WARD      SALES          SALESMAN
.7839.7698.7521
****CLARK       ACCOUNTING     MANAGER
.7839.7782
******MILLER    ACCOUNTING     CLERK
.7839.7782.7934
****JONES       RESEARCH       MANAGER
.7839.7566
******FORD      RESEARCH       ANALYST
.7839.7566.7902
********SMITH   RESEARCH       CLERK
.7839.7566.7902.7369
******SCOTT     RESEARCH       ANALYST
.7839.7566.7788
********ADAMS   RESEARCH       CLERK
.7839.7566.7788.7876
14 rows selected.
SQL>
SQL> drop table emp;
Table dropped.
SQL>
SQL> drop table dept;
Table dropped.
SQL>
SQL> --