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

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

DB STUDY
편집 요약 없음
편집 요약 없음
22번째 줄: 22번째 줄:


* 호출 방법
* 호출 방법
 
<source lang=sql>
BEGIN
BEGIN
   add_employee(999, '홍길동');
   add_employee(999, '홍길동');
END;
END;
</source>





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;