더북(TheBook)

Self-Check

1. 다음은 7장에서 학습했던 부서별 계층형 쿼리다.

    SELECT department_id, LPAD(' ' , 3 * (LEVEL-1)) || department_name, LEVEL
      FROM departments
      START WITH parent_id IS NULL
    CONNECT BY PRIOR department_id  = parent_id;

위 문장과 동일한 결과를 내도록 my_dep_hier_proc란 이름으로 프로시저를 만들어 보자. 계층형 쿼리 문장은 전혀 사용하지 말고, 커서와 반복문을 사용해서 구현해 보자.

2. 다차원 컬렉션 절에서 요소의 타입이 테이블형 레코드인 중첩 테이블을 선언해 사원정보를 출력하였다. 이번에는 중첩 테이블 대신 연관 배열을 사용해서 사원명을 인덱스로 해서 이메일 정보를 출력하는 익명 블록을 작성해 보자.

3. 사원명을 값으로 받기 위한 하는 중첩 테이블 nt_ch11_emp라는 이름으로 사용자 정의 타입으로 만들어 보자.

4. 매개변수로 부서번호를 넘기면 해당 부서에 속한 사원번호, 사원이름, 부서이름을 출력하는 프로시저를 만들어보자. 단 사원번호, 사원이름, 부서이름 정보를 조회해 가져와 중첩 테이블에 담은 다음, 다시 이 중첩 테이블에 들어간 데이터를 출력하도록 작성해 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.