[Oracle SQL] FUNCTION 생성

형아·2025년 3월 9일

SQL

목록 보기
4/4

FUNCTION 언제 주로 쓰이냐

코드를 짤 때는 코드번호에 따라 분류된 값을 사용하지만,
사용자들이 보는 화면을 코드들로 보여주면 절대 모름. 각 코드명에 맞는 이름(값)을 보여줘야지.

이걸 치환할 때 FUNCTION을 자주 씀!

CREATE OR REPLACE FUNCTION 함수명(매개변수명1 타입1, 매개변수명2 타입2, ...)
RETURN 리턴타입
IS 함수내부에서사용할지역변수명 타입(크기);
BEGIN
	함수
    RETURN 리턴값
END

예를 들어

CREATE OR REPLACE FUNCTION FN_CODE_NM(V_CD VARCHAR2, V_CD2 VARCHAR2)
RETURN VARCHAR2
IS V_NM VARCHAR2(100);
BEGIN
	SELECT CD_NM1 INTO V_NM
    FROM TB_CD_MST
    WHERE CD_VAL = V_CD
    AND CD_VAL1 = V_CD2;
    
    RETURN V_NM;
END FN_CODE_NM;

근데, 함수를 만드는거 PL/SQL 영역이라서 그냥 Script에 실행하면 만들어지지 않음!

이렇게 만들려는 스키마 우클릭해서 CREATE > FUNCTION

DECLARATION (선언부)에
위의 내용 작성하기

그리고 저장하고 컴파일! (Ctrl + f9)


이제 Function 써보자

SELECT * FROM TB_CD_MST; 

하면 이렇게 결과가 다 뜸

함수 호출

SELECT FN_CODE_NM('001','A') FROM DUAL;

profile
개발새발

0개의 댓글