DB/ORACLE

24.[오라클]PL/SQL 사용자 함수(FUNCTION)

혼자좀비 2024. 2. 20. 19:29

※PL/SQL사용자 정의 함수

 

함수 생성

CREATE OR REPLACE FUNCTION 함수이름(매개변수1, 매개변수 2,....)

RETURN 데이터타입;

IS[AS]

   변수,상수등 선언

BEGIN

    실행부

     RETURN 반환값;

[EXCEPTION 예외처리부]

END [함수이름];

  • CREATE OR REPLACE FUNCTION : CREATE OR REPLACE구문을 사용하여 함수를 생성. 최초 함수를 만들고 난 다음 수정을 하더라도 구문을 사용해 계속 컴파일 할 숭 있고, 마지막으로 수정된 최종본이 반영
  • 매개변수 : 함수로 전달되는 매개변수로,"매개변수명 데이터 타입"형태로 명시한다. 매개변수는 생략이 가능하다.
  • RETURN 데이터 타입 : 함수가 반환할 데이터 타입을 지정한다.
  • RETURN 반환값 : 매개변수를 받아 특정 연산을 수행한 후 반환할 값을 명시한다.

※함수에 대한 생성 부분 SQL

CREATE OR REPLACE FUNCTION TEST_FN(NUM1 NUMBER ,NUM2 NUMBER)
RETURN NUMBER --반환데이터 타입은 NUMBER
IS
   TEST_NUM_01 NUMBER :=0;
   TEST_NUM_02 NUMBER :=0;
BEGIN
   TEST_NUM_02 := FLOOR(NUM1/NUM2);          -- 피젯수/젯수 결과에 정수부분을 걸러낸다.
   TEST_NUM_01 := NUM1 -(NUM2*TEST_NUM_02);  -- 나머지 = 피젯수 -(젯수*몫)
   RETURN TEST_NUM_01;                       -- 나머지 반환
END;

 

※위와 같이 명령어로 생성할수 있지만 TOOL을 사용하여 FUNCTION을 생성할수 있다.

 

FUNCTION생성 완료

함수를 호출할 경우 아래의 이미지와 같이 호출한다

(SELECT TEST_FN(14,3) FROM DUAL;)

위의 이미지처럼 호출이 된다.

'DB > ORACLE' 카테고리의 다른 글

26.[오라클]예외처리  (0) 2024.02.23
25.[오라클]프로시저 정리  (0) 2024.02.20
23.[오라클]PL/SQL제어문 정리  (0) 2024.02.20
22.[오라클]다중INSERT하기  (0) 2024.02.18
21.[오라클]분석함수와window  (0) 2024.02.14