ORACLE 함수 관련 및 제어문을 예시를 통해 정리한다.
create or replace FUNCTION FN_MY_FUNCTION( //내 함수명 선언
PARAM1 IN VARCHAR2 //함수 파라미터 변수 선언(PARAM1)
,PARAM2 IN VARCHAR2 //함수 파라미터 변수 선언(PARAM2)
) RETURN VARCHAR2 IS
MY_RESULT VARCHAR2(100); //리턴할 변수 선언(MY_RESULT)
BEGIN
BEGIN
SELECT
VALUE_TO_RETURN
INTO MY_RESULT //쿼리 결과를 리턴 변수에 담기
FROM MY_TABLE1 A, MY_TABLE2 B
AND A.COL1 = B.COL1;
EXCEPTION //예외 케이스 선언
WHEN NO_DATA_FOUND THEN //쿼리 결과가 0건일 경우
IF (PARAM1 = '01') THEN
MY_RESULT := 'PARAM1이 01인 경우';
ELSIF (PARAM1 IS NULL) THEN //NULL과 비교할 때 괄호로 감싸야 정상 작동, ELSEIF가 아님
MY_RESULT := 'PARAM1이 NULL인 경우';
ELSE
MY_RESULT := '이도 저도 아닌 경우';
END IF;
END;
RETURN MY_RESULT; //MY_RESULT를 리턴
END MY_FUNCTION;
'IT | 개발 > Database' 카테고리의 다른 글
[Oracle] 집합 연산자 정리 (UNION, UNION ALL, INTERSECT, MINUS) (6) | 2020.01.20 |
---|---|
[오라클 | like] 특정 패턴 조회하기(한 글자, 여러 글자) (0) | 2020.01.19 |
[Oracle | 오류 해결] ORA-01795 에러 해결하기 (0) | 2020.01.18 |
[APM 패턴 | PHP] Linux에 MariaDB 설치 및 설정 (소스 파일을 이용한 설치) (0) | 2019.12.28 |
[mysql | mariadb] root 패스워드 변경(분실 시) - Linux (0) | 2019.12.21 |