사용자 정의 함수란?
프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL이다.
사용자 정의 함수는 데이터베이스에 저장되어 DML문의 호출에 의해 실행된다.
예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없다.
SQL은 SELECT를 통한 조회만 할 수 있다.
프로시저를 호출하여 사용할 수 없다.
SUM(), AVG() 등의 내장 함수처럼 DML문에서 반환 값을 활용하기 위한 용도로 사용된다.
※ 프로시저 vs 사용자 정의 함수
DECLARE
BEGIN
CONTROL
SQL
EXCEPTION
RETURN
END
CREATE [OR REPLACE] FUNCTION 사용자_정의_함수명 (파라미터)
RETURN 자료형 -- 프로시저와 크게 다른점 한가지
IS
[지역변수 선언]
BEGIN
사용자 정의 함수 BODY;
RETURN 반환값; -- 프로시저와 크게 다른점 한가지
END;
파라미터
IN : 호출 프로그램이 사용자 정의 함수에게 값을 전달할 때 지정한다.
매개변수명 : 호출 프로그램으로부터 전달받은 값을 저장할 변수의 이름을 지정한다.
자료형 : 변수의 자료형을 지정한다.