공룡이라는 ORACLE

FUNCTION

Jungsoomin :) 2020. 10. 23. 22:23

프로시저와 다른 점은 하나의 값만 리턴할 수 있다는 것.

 

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