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;

+ Recent posts