메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

PL/SQL 프로시저 / 함수 만드는 법: 두 판 사이의 차이

DB STUDY
(새 문서: 좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. Oracle 19c 기준으로 실무에서도 자주 쓰이는 스타일로 정리했습니다. ⸻ 1. PL/SQL 프로시저 / 함수 만드는 법 1-1. 프로시저 (Procedure) • 특정 작업을 수행하고, 결과를 반환하지 않아도 됨 • 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용 예제: 직원 추가 프로시저 CREATE OR REPLACE PROCEDURE add_employee ( p_id IN...)
 
편집 요약 없음
1번째 줄: 1번째 줄:
좋습니다! 요청하신 내용을 순서대로 자세히 설명드릴게요. Oracle 19c 기준으로 실무에서도 자주 쓰이는 스타일로 정리했습니다.
=== PL/SQL 프로시저 / 함수 만드는 법 ===


=== 프로시저 (Procedure) ===
 
* 특정 작업을 수행하고, 결과를 반환하지 않아도 됨
1. PL/SQL 프로시저 / 함수 만드는 법
* 보통 INSERT, UPDATE, DELETE 같은 실행 작업에 사용
 
1-1. 프로시저 (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>


호출 방법
* 호출 방법


BEGIN
BEGIN
33번째 줄: 31번째 줄:


1-2. 함수 (Function)
=== 함수 (Function) ===
값을 반환(return) 함
* 값을 반환(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번째 줄: 52번째 줄:
     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:25 판

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;