프로시저와 다른 점은 하나의 값만 리턴할 수 있다는 것.
OUT 매개변수로 여러 값을 가져오는 프로시져. 하나만을 리턴하는 함수.
- FUNCTION 시그니처에 리턴 타입기재
- 로직에서 RETURN 문 기재
- 호출시 가져올 리턴변수 정의 후 받아와야함 >> EXECUTE :변수 := 함수(매개변수)
-- 함수는 하나의 값만을 리턴한다.
--CREATE OR REPLACE FUNCTION 이름( 매개변수 )
-- RETURN 리턴타입
--IS
-- 리턴할 변수
--BEGIN
-- 로직
--END;
--/
CREATE OR REPLACE FUNCTION FN_SALARY_ENAME(
V_NAME IN employees.f_name%TYPE -- IN 매개변수
)
RETURN NUMBER
IS
V_SAL NUMBER;
BEGIN
SELECT SALARY INTO V_SAL FROM EMPLOYEES
WHERE F_NAME = V_NAME;
RETURN V_SAL;
END;
/
-- 함수를 호출할때는 EXECUTE :변수 := 함수(매개변수) 로 호출한다.
VARIABLE F_SALARY NUMBER;
EXECUTE :F_SALARY := FN_SALARY_ENAME('Lex');
PRINT F_SALARY;
'공룡이라는 ORACLE' 카테고리의 다른 글
Procedure (0) | 2020.10.24 |
---|---|
Trigger (0) | 2020.10.23 |
다중 insert 시 시퀀스 넘버가 PK 제약조건을 어긋내는 경우 해결방안. (0) | 2020.10.20 |
TopN (0) | 2020.10.06 |
간단한 백업 (0) | 2020.10.03 |