프로시저명은 동일한데 하나는 사번을, 다른 하나는 사원명을 매개변수로 받고 있다. 이제 패키지 본문을 작성해 보자.
입력
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이(가) 컴파일되었습니다.