오라클 PL/SQL의 대표적인 부 프로그램으로 함수(Function)이 있다.
이는 오라클에서 제공하는 내장함수(TO_CHAR, TO_DATE 등)가 아닌,
사용자 정의 함수(User Defined Function)이다.
함수를 직접 정의함으로써 특정 기능들을 재사용할 수 있기 때문에,
쿼리문을 더욱 간결하게 만들 수 있는 장점이 있다.
1) 함수(Function) 이란?
: 오라클의 내장함수 외, 사용자가 직접 정의하여 사용할 수 있는 함수이다.
특정 기능들을 모듈화, 재사용할 수 있어 복잡한 쿼리문을 간결하게 만들 수 있다.
2) 함수 기본 문법
CREATE OR REPLACE FUNCTION 함수 이름 (매개변수1, 매개변수2....)
RETURN 데이터 타입;
IS[AS]
변수, 상수 선언..
BEGIN
실행부
RETURN 반환값
[EXCEPTION 예외처리부]
END [함수 이름];
3) 권한
: 함수 작성시 권한이 필요하다.
- 자신의 스키마 : CREATE PROCEDURE 권한
- 다른 사용자의 스키마 : CREATE ANY PROCEDURE 권한
4) 함수 사용 예시
4-1) 함수 작성
CREATE OR REPLACE FUNCTION fn_sum_gugu( num NUMBER )
RETURN NUMBER
IS
result NUMBER := 0;
BEGIN
FOR i in 1..9
LOOP
result := result + (num * i);
END LOOP;
RETURN result;
END;
4-2) 함수 호출
SELECT fn_sum_gugu(3)
FROM dual;
[reference]
https://gdtbgl93.tistory.com/149
https://goddaehee.tistory.com/261
https://velog.io/@floyd/Oracle-PLSQL-FUNCTION
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] TRUNC 함수 사용법 및 예제(시간과 숫자를 절사하는 함수) (0) | 2025.06.12 |
---|---|
[Oracle] 숫자 3자리(천단위)마다 콤마(,) 넣어서 출력하기 (0) | 2025.06.10 |
[Oracle] OVER 함수 - GROUP BY 없이 최대,최소,평균 구하기 (1) | 2025.06.04 |
[Oracle] 특정 문자로 자릿수 채우기 LPAD, RPAD 함수 (0) | 2025.06.03 |
[Oracle] 오라클 소수점 존재 여부 체크 및 소수점 이하 값 구하기 (0) | 2025.06.02 |