본문 바로가기

Database

[ SQL ] FUNCTION(함수)

업무 수행을 위해 패키지나 프로시저를 만들 때, 많이 사용하는 쿼리를 함수로 만들어 가져다 쓸 수 있다.

 

 

FUNCTION(함수) 만들기

create or replace NONEDITIONABLE FUNCTION FN_ADD 
(
      IN_NUM1 IN NUMBER 
    , IN_NUM2 IN NUMBER 
) 
    RETURN NUMBER 
    AS
    
        V_RESULT        NUMBER(5);
        
    BEGIN
        
        V_RESULT := IN_NUM1 + IN_NUM2;
    
      RETURN V_RESULT;
      
    END FN_ADD;

 

  • 덧셈을 위한 함수를 만들었다.
  • sqldeveloper에서 함수에 우클릭하여 새 함수를 만들 수 있고 쿼리로 만들 수도 있다.
  • 패키지나 프로시저를 만드는 것과 같이 매개변수를 설정해주고 함수이기 때문에 RETURN + 리턴받을 데이터 유형을 설정해 주어야 한다.
  • AS와 BEGIN 사이에는 필요하다면 변수를 만들어주고, BEGIN 이후 필요한 쿼리를 작성해 준다.
SELECT 사용하고자 하는 패키지명.사용할 함수명(사용하고자 하는 매개변수나 컬럼명)
FROM 사용할 테이블 명;
SELECT 사용하고자 하는 프로시져명.사용할 함수명(사용하고자 하는 매개변수나 컬럼명)
FROM 사용할 테이블 명;
  • 함수를 만들어주면 함수가 만들어진 접속(서버)에서는 패키지나 프로시저 어디에나 가져다 쓸 수 있으며 사용할 때는 패키지 이름.함수 이름(매개변수), 프로시져 이름. 함수 이름(매개변수) 라 써준다.

 

함수사용하기

SELECT FN_ADD(6,7) AS RESULT FROM DUAL;