메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Oracle (토론 | 기여)님의 2025년 5월 13일 (화) 19:18 판 (새 문서: 좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. Oracle 19c 기준으로 실무에서도 자주 쓰이는 스타일로 정리했습니다. ⸻ 1. PL/SQL 프로시저 / 함수 만드는 법 1-1. 프로시저 (Procedure) • 특정 작업을 수행하고, 결과를 반환하지 않아도 됨 • 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용 예제: 직원 추가 프로시저 CREATE OR REPLACE PROCEDURE add_employee ( p_id IN...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. 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;