MariaDB 스토어드 프로시저와 함수의 차이점 및 예제
이 글에서는 MariaDB에서 스토어드 프로시저와 함수의 차이점에 대해 설명하고, 각각의 사용 사례와 예제를 제공합니다. 이를 통해 스토어드 프로시저와 함수의 개념과 활용 방법을 이해할 수 있습니다.
스토어드 프로시저와 함수의 차이점
MariaDB에서 스토어드 프로시저와 함수는 모두 서버에 저장된 코드 블록이지만, 주요 차이점은 다음과 같습니다.
- 목적: 스토어드 프로시저는 주로 특정 작업을 수행하기 위해 사용되며, 여러 SQL 문을 포함할 수 있습니다. 함수는 값을 반환하는 작업에 중점을 둡니다.
- 호출 방법: 스토어드 프로시저는
CALL
문을 사용하여 호출되며, 함수는 SQL 문의 일부로 호출됩니다. - 반환 값: 함수는 반드시 값을 반환해야 하지만, 스토어드 프로시저는 반환 값이 필요하지 않습니다.
- 사용 위치: 함수는 SELECT 문에서 사용할 수 있지만, 스토어드 프로시저는 사용할 수 없습니다.
스토어드 프로시저의 사용 사례와 예제
다음은 스토어드 프로시저를 사용하는 예제입니다.
DELIMITER //
CREATE PROCEDURE GetEmployeeDetails()
BEGIN
SELECT employee_name, salary FROM employees;
END //
DELIMITER ;
CALL GetEmployeeDetails();
함수의 사용 사례와 예제
다음은 함수를 사용하는 예제입니다.
DELIMITER //
CREATE FUNCTION GetEmployeeSalary(emp_id INT)
RETURNS DECIMAL(10, 2)
DETERMINISTIC
BEGIN
DECLARE salary DECIMAL(10, 2);
SELECT salary INTO salary FROM employees WHERE id = emp_id;
RETURN salary;
END //
DELIMITER ;
SELECT GetEmployeeSalary(1) AS salary;
스토어드 프로시저와 함수의 장단점
각각의 장단점을 고려하여 적절한 용도로 사용해야 합니다.
- 스토어드 프로시저: 복잡한 비즈니스 로직을 처리하는 데 유리하며, 트랜잭션을 관리할 수 있습니다.
- 함수: 단일 값을 반환하는 간단한 계산이나 데이터를 변환하는 데 유리합니다. SELECT 문에서 직접 호출할 수 있어 편리합니다.
참고할 만한 사이트
아래 링크를 통해 MariaDB 공식 문서와 관련된 추가 정보를 확인할 수 있습니다.
관련 이전 게시글
- MariaDB 스토어드 프로시저 기본 사용법: 생성, 호출, 삭제 방법
- MariaDB 커서 사용법: 선언, 열기, 가져오기, 닫기
- MariaDB 사용자 정의 함수 사용법: 생성, 호출, 삭제 방법
- MariaDB 인덱스 개요 및 기본 인덱스 생성 방법
- MariaDB 고급 인덱스 유형 및 성능 최적화 방법
이 글이 도움이 되셨다면 공유 부탁 드립니다.