함수 : 매개 변수를 받아 특정 계산(작업)을 수행하고 결과를 반환하는 구조로 되어 있음
즉, 특정 동작을 수행하는 코드 부분을 의미
데이터베이스 내에서는 특정 값(매개 변수)을 입력 받아 여러 쿼리문을 작업한 뒤 반환하는 기능을 의미
생성
CREATE OR REPLACE FUNCTION 함수이름(파라미터1이름 타입, 파라미터2이름 타입...)
RETURN 반환할 타입
IS
변수 선언
BEGIN
실행문 작성
RETURN 반환할 값
END;
@ 두 개의 숫자를 받아 합의 두배를 반환하는 함수
CREATE OR REPLACE FUNCTION SUM_TWICE(n1 NUMBER, n2 NUMBER)
RETURN NUMBER
IS
twice_sum NUMBER := 0;
BEGIN
twice_sum := (n1 + n2) * 2;
RUTURN twice_sum;
END;
실행
실제로 함수를 사용해서 값을 보면
SELECT SUM_TWICE(12,13) 합의두배
FROM DUAL;
(12+13)*2인 50이 출력된다.
수정
CREATE OR REPLACE 구문을 사용하면 생성과 똑같이 작성하면 됩니다.
만약 해당되는 함수가 있다면 수정하게 되고, 없다면 생성하게 됩니다.
CREATE OR REPLACE FUNCTION...
조회
모든 함수들을 조회하고 싶을 때 아래와 같이 작성하면 됩니다.
SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION';
삭제
DROP FUNCTION 함수명;
SUM_TWICE를 삭제할 때 아래와 같이 작성해주면 됩니다.
DROP FUNCTION SUM_TWICE;