더북(TheBook)

프로시저명은 동일한데 하나는 사번을, 다른 하나는 사원명을 매개변수로 받고 있다. 이제 패키지 본문을 작성해 보자.

입력

    CREATE OR REPLACE PACKAGE BODY ch12_overload_pkg IS
      -- 매개변수로 사번을 받아 해당 사원의 부서명을 출력
      PROCEDURE get_dep_nm_proc ( p_emp_id IN NUMBER)
      IS
        -- 부서명 변수
        vs_dep_nm departments.department_name%TYPE;
      BEGIN
        SELECT b.department_name
          INTO vs_dep_nm
          FROM employees a, departments b
         WHERE a.employee_id = p_emp_id
           AND a.department_id = b.department_id;

        DBMS_OUTPUT.PUT_LINE('emp_id: ' || p_emp_id || ' - ' || vs_dep_nm);

      END get_dep_nm_proc;

      -- 매개변수로 사원명을 받아 해당 사원의 부서명을 출력
       PROCEDURE get_dep_nm_proc ( p_emp_name IN VARCHAR2)
      IS
        -- 부서명 변수
        vs_dep_nm departments.department_name%TYPE;
      BEGIN
        SELECT b.department_name
          INTO vs_dep_nm
          FROM employees a, departments b
         WHERE a.emp_name  = p_emp_name
           AND a.department_id = b.department_id;

        DBMS_OUTPUT.PUT_LINE('emp_name: ' || p_emp_name || ' - ' || vs_dep_nm);

      END get_dep_nm_proc;
    END ch12_overload_pkg;

결과

    PACKAGE BODY CH12_OVERLOAD_PKG이(가) 컴파일되었습니다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.