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)
SELECT * FROM TB_CD_MST;
하면 이렇게 결과가 다 뜸

함수 호출
SELECT FN_CODE_NM('001','A') FROM DUAL;
