(새 문서: 좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. Oracle 19c 기준으로 실무에서도 자주 쓰이는 스타일로 정리했습니다. ⸻ 1. PL/SQL 프로시저 / 함수 만드는 법 1-1. 프로시저 (Procedure) • 특정 작업을 수행하고, 결과를 반환하지 않아도 됨 • 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용 예제: 직원 추가 프로시저 CREATE OR REPLACE PROCEDURE add_employee ( p_id IN...) |
편집 요약 없음 |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
=== PL/SQL 프로시저 / 함수 만드는 법 === | |||
=== 프로시저 (Procedure) === | |||
* 특정 작업을 수행하고, 결과를 반환하지 않아도 됨 | |||
* 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용 | |||
* 예제: 직원 추가 프로시저 | |||
<source lang=sql> | |||
예제: 직원 추가 프로시저 | |||
CREATE OR REPLACE PROCEDURE add_employee ( | CREATE OR REPLACE PROCEDURE add_employee ( | ||
22번째 줄: | 19번째 줄: | ||
DBMS_OUTPUT.PUT_LINE('직원 추가 완료'); | DBMS_OUTPUT.PUT_LINE('직원 추가 완료'); | ||
END; | END; | ||
</source> | |||
호출 방법 | * 호출 방법 | ||
<source lang=sql> | |||
BEGIN | BEGIN | ||
add_employee(999, '홍길동'); | add_employee(999, '홍길동'); | ||
END; | END; | ||
</source> | |||
33번째 줄: | 32번째 줄: | ||
⸻ | ⸻ | ||
=== 함수 (Function) === | |||
* 값을 반환(return) 함 | |||
* 보통 계산, 조회 등 리턴값이 필요한 작업에 사용 | |||
* 예제: 직원 이름 반환 함수 | |||
<source lang=sql> | |||
CREATE OR REPLACE FUNCTION get_employee_name ( | CREATE OR REPLACE FUNCTION get_employee_name ( | ||
p_id IN employees.employee_id%TYPE | p_id IN employees.employee_id%TYPE | ||
54번째 줄: | 53번째 줄: | ||
RETURN '없음'; | RETURN '없음'; | ||
END; | END; | ||
</source> | |||
호출 방법 | * 호출 방법 | ||
<source lang=sql> | |||
SELECT get_employee_name(100) FROM dual; | SELECT get_employee_name(100) FROM dual; | ||
</source> | |||
[[category:oracle]] | |||
[[category:oracle 함수 function]] | |||
[[category:oracle 프로시져 procedure]] |
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;