PROCEDURE와 비슷한 용도로 사용되지만
OUT 매개변수를 사용하지 않아도 결과 값을 반환한다는 점에서 차이가 있음
▪ 사번을 입력 받아 해당 사원의 연봉을 계산하여 결과 값을 리턴하는 함수 생성
CREATE OR REPLACE FUNCTION FUNC (
P_EMP_ID EMPLOYEE.EMP_ID%TYPE)
RETURN NUMBER -- 반환형
IS -- 결과 값 저장용 변수 선언
RESULT_SALARY EMPLOYEE.SALARY%TYPE;
RESULT_BONUS EMPLOYEE.BONUS%TYPE;
ANNUAL_SAL NUMBER;
BEGIN
SELECT SALARY, NVL(BONUS, 0)
INTO RESULT_SALARY, RESULT_BONUS
FROM EMPLOYEE
WHERE EMP_ID = P_EMP_ID;
ANNUAL_SAL := RESULT_SALARY * (1 + RESULT_BONUS) * 12;
RETURN ANNUAL_SAL;
END;
/