본문 바로가기

개발/BACK

MySQL에서 프로시저 작성 방법 및 예제 가이드

728x90

 

 

데이터베이스 관리를 효율적으로 하기 위해 MySQL에서 프로시저를 사용하는 방법을 소개합니다. 이 포스팅에서는 프로시저가 무엇인지, 프로시저를 작성하는 방법, 그리고 예제 프로시저를 실행하는 방법에 대해 설명합니다.

프로시저란 무엇인가요?

프로시저(Procedure)는 데이터베이스 내에서 저장되고 실행될 수 있는 일련의 SQL 문장 집합입니다. 프로시저는 반복되는 작업을 자동화하거나, 복잡한 데이터 처리 로직을 데이터베이스 내에서 직접 수행할 수 있게 합니다. 이를 통해 애플리케이션의 코드 간소화, 성능 향상, 데이터 일관성 유지 등의 이점을 얻을 수 있습니다.

MySQL에서 프로시저 작성 방법

MySQL에서 프로시저를 작성하려면 다음과 같은 문법을 사용합니다:

 

CREATE PROCEDURE 프로시저명 (파라미터1 데이터타입, 파라미터2 데이터타입, ...)
BEGIN
  -- SQL 문장들
END;

 

 

예제 프로시저 작성 및 실행

다음은 employees 테이블에서 특정 부서(department)에 속한 직원들의 정보를 가져오는 예제 프로시저를 작성하고 실행하는 방법입니다.

1. 예제 테이블 생성

우선, employees 테이블을 생성하고 샘플 데이터를 삽입합니다.

 

 

CREATE TABLE employees (
  emp_id INT PRIMARY KEY,
  emp_name VARCHAR(50),
  department VARCHAR(50)
);

INSERT INTO employees (emp_id, emp_name, department) VALUES
(1, 'Alice', 'HR'),
(2, 'Bob', 'Engineering'),
(3, 'Charlie', 'HR'),
(4, 'David', 'Engineering'),
(5, 'Eve', 'Marketing');

 

 

2. 프로시저 작성

다음은 get_employees_by_department이라는 프로시저를 작성하여 특정 부서에 속한 직원들을 조회하는 예제입니다.

 

DELIMITER //

CREATE PROCEDURE get_employees_by_department(IN dept_name VARCHAR(50))
BEGIN
  SELECT emp_id, emp_name
  FROM employees
  WHERE department = dept_name;
END //

DELIMITER ;

 

 

위 프로시저는 dept_name이라는 입력 파라미터를 받아서 해당 부서의 직원 정보를 조회합니다.

3. 프로시저 실행

작성한 프로시저를 실행하여 결과를 확인해봅니다.

 

CALL get_employees_by_department('HR');

 

 

위 명령을 실행하면 HR 부서에 속한 직원들의 정보가 출력됩니다.

 

+--------+----------+
| emp_id | emp_name |
+--------+----------+
|      1 | Alice    |
|      3 | Charlie  |
+--------+----------+

 

 

결론

프로시저는 반복적인 작업을 자동화하고 복잡한 데이터 처리를 효율적으로 수행할 수 있게 해주는 강력한 도구입니다. MySQL에서 프로시저를 작성하고 실행하는 방법을 이해하면 데이터베이스 관리 작업을 더욱 효율적으로 수행할 수 있습니다. 이 포스팅이 MySQL 프로시저를 이해하고 활용하는 데 도움이 되길 바랍니다.

728x90