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

    입력

        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이(가) 컴파일되었습니다.
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.