MariaDB 스토어드 프로시저와 함수의 차이점 및 예제

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 공식 문서와 관련된 추가 정보를 확인할 수 있습니다.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤