오라클 FUNCTION 정의 및 생성 방법
오라클 데이터베이스에서 함수란 특정 작업을 수행하고 결과 값을 반환하는 이름이 부여된 PL/SQL 블록입니다. 이 함수는 인수를 입력으로 받아 처리하고, 결과를 반환하는 역할을 합니다. 함수는 프로시저와 비슷하지만, 반드시 반환 값이 있어야 한다는 점에서 차이가 있습니다.
함수 생성 방법은 다음과 같습니다.
CREATE [OR REPLACE] FUNCTION function_name [(parameter [,parameter...])]
RETURN return_datatype
IS | AS
BEGIN
-- 함수 로직
RETURN value;
END;
- CREATE [OR REPLACE] FUNCTION function_name은 새로운 함수를 생성하거나, 동일한 이름의 기존 함수를 대체하려는 경우 사용합니다.
- RETURN return_datatype은 함수가 반환할 데이터 유형을 지정합니다.
- IS | AS는 함수 본문이 시작됨을 나타냅니다.
- BEGIN...END 사이에는 실제 함수 로직이 위치하며, 이 부분은 사용자가 원하는 방식으로 구현할 수 있습니다.
- RETURN value;는 함수의 반환 값입니다.
오라클 FUNCTION 생성예제 및 실행방법
간단한 예제를 통해 설명해 드리겠습니다. 아래의 함수는 두 숫자를 입력받아 더한 값을 반환하는 함수입니다.
CREATE OR REPLACE FUNCTION add_numbers (num1 IN NUMBER, num2 IN NUMBER)
RETURN NUMBER
IS
total NUMBER;
BEGIN
total := num1 + num2;
RETURN total;
END;
이 함수를 실행하는 방법은 다음과 같습니다.
DECLARE
result NUMBER;
BEGIN
result := add_numbers(10, 20);
DBMS_OUTPUT.PUT_LINE('The result is: ' || result);
END;
이 PL/SQL 블록은 add_numbers 함수를 호출하고, 그 결과를 result 변수에 저장 후, DBMS_OUTPUT.PUT_LINE을 사용하여 결과를 출력합니다. 이 예제에서는 "The result is: 30"이라는 출력을 볼 수 있습니다.
몇 가지 예제
1. 문자열의 길이를 반환하는 FUNCTION
CREATE OR REPLACE FUNCTION get_string_length (str VARCHAR2)
RETURN NUMBER
IS
length NUMBER;
BEGIN
length := LENGTH(str);
RETURN length;
END;
2. 날짜 간의 차이를 계산하는 FUNCTION
CREATE OR REPLACE FUNCTION calculate_date_difference (date1 DATE, date2 DATE)
RETURN NUMBER
IS
difference NUMBER;
BEGIN
difference := date2 - date1;
RETURN difference;
END;
이렇게 오라클 FUNCTION에 대한 기본 개념과 생성 예제에 대해 알아보았습니다. FUNCTION은 데이터베이스에서 많은 유용한 작업을 수행하는 데 활용될 수 있으며, 적절하게 활용하여 개발 작업을 보다 효율적으로 수행할 수 있습니다.
'IT > ORACLE' 카테고리의 다른 글
ORACLE 오라클 특정 위치에서 문자 추출 자르기 SUBSTR / INSTR (0) | 2024.03.12 |
---|---|
ORACLE 오라클 프로시저 PROCEDURE 서식 및 생성 (0) | 2024.03.09 |
ORACLE 오라클 날짜함수 시간함수 정의 및 예제 (0) | 2024.03.01 |
ORACLE 오라클 집계함수 정의 및 예제 (0) | 2024.02.28 |
ORACLE 오라클 수치연산함수 정의 및 예제 (0) | 2024.02.27 |
댓글