1. 사용자 정의 함수 생성
CREATE OR REPLACE FUNCTION 함수이름 -- (1)
(매개변수1, 매개변수2, … ) -- (2)
RETURN 데이터타입 -- (3)
IS[AS]
변수, 상수 등 선언
BEGIN
실행부
RETURN 반환값; -- (4)
[EXCEPTION
예외 처리부]
END [함수 이름];
- ① CREATE OR REPLACE FUNCTION : 함수를 생성한다.(해당 구문으로 수정도 가능하다.)
- ② 매개변수 : "매개변수명 데이터타입" 형태로 명시하며, 매개변수는 생략할 수 있다.
- ③ RETURN 데이터타입 : 함수가 반환할 데이터 타입을 지정한다.
- ④ RETURN 반환값 : 매개변수를 받아 특정 연산을 수행한 후 반환할 값을 명시한다.
- 예제) 나머지 구하는 함수, MY_MOD
CREATE OR REPLACE FUNCTION MY_MOD(NUM1 NUMBER, NUM2 NUMBER)
RETURN NUMBER
IS
VN_REMAINDER NUMBER := 0;
VN_QUOTIENT NUMBER := 0;
BEGIN
VN_QUOTIENT := FLOOR(NUM1 / NUM2);
VN_REMAINDER := NUM1 - (NUM2 * VN_QUOTIENT);
RETURN VN_REMAINDER;
END;
/
2. 사용자 정의 함수 호출
/* 매개변수가 없는 함수 호출 */
함수명 혹은 함수명() -- () 생략 가능
/* 매개변수가 있는 함수 호출*/
함수명(매개변수1, 매개변수2, … )
참고문헌 : 홍형경(2015), 오라클 SQL과 PL/SQL을 다루는 기술, 길벗