편집 요약 없음 |
편집 요약 없음 |
||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
22번째 줄: | 22번째 줄: | ||
* 호출 방법 | * 호출 방법 | ||
<source lang=sql> | |||
BEGIN | BEGIN | ||
add_employee(999, '홍길동'); | add_employee(999, '홍길동'); | ||
END; | END; | ||
</source> | |||
55번째 줄: | 56번째 줄: | ||
* 호출 방법 | * 호출 방법 | ||
<source lang=sql> | <source lang=sql> | ||
SELECT get_employee_name(100) FROM dual; | SELECT get_employee_name(100) FROM dual; | ||
</source> | </source> |
2025년 5월 18일 (일) 02:26 기준 최신판
PL/SQL 프로시저 / 함수 만드는 법
프로시저 (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;
⸻
함수 (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;