좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. Oracle 19c 기준으로 실무에서도 자주 쓰이는 스타일로 정리했습니다.
⸻
1. PL/SQL 프로시저 / 함수 만드는 법
1-1. 프로시저 (Procedure) • 특정 작업을 수행하고, 결과를 반환하지 않아도 됨 • 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용
예제: 직원 추가 프로시저
CREATE OR REPLACE PROCEDURE add_employee (
p_id IN employees.employee_id%TYPE, p_name IN employees.first_name%TYPE
) IS BEGIN
INSERT INTO employees(employee_id, first_name) VALUES (p_id, p_name);
DBMS_OUTPUT.PUT_LINE('직원 추가 완료');
END;
호출 방법
BEGIN
add_employee(999, '홍길동');
END;
⸻
1-2. 함수 (Function) • 값을 반환(return) 함 • 보통 계산, 조회 등 리턴값이 필요한 작업에 사용
예제: 직원 이름 반환 함수
CREATE OR REPLACE FUNCTION get_employee_name (
p_id IN employees.employee_id%TYPE
) RETURN VARCHAR2 IS
v_name employees.first_name%TYPE;
BEGIN
SELECT first_name INTO v_name FROM employees WHERE employee_id = p_id;
RETURN v_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN RETURN '없음';
END;
호출 방법
SELECT get_employee_name(100) FROM dual;
⸻