Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 저장 프로시저로 수학 연산 수행하는 방법

MySQL의 저장 프로시저(Stored Procedure)를 활용하면 복잡한 계산 로직을 데이터베이스 내부에서 간편하게 처리할 수 있습니다. 이번 글에서는 저장 프로시저를 생성하여 금액(amount) × 수량(quantity)과 같은 수학 연산을 수행하는 방법을 알아보겠습니다.

1. 저장 프로시저 생성하기

먼저 delimiter 명령어로 구분 기호를 변경한 뒤, 두 개의 정수형 매개변수를 받아 곱셈 결과를 반환하는 저장 프로시저를 만들어 보겠습니다.

mysql> delimiter //
mysql> create procedure calculation_proc(amount int,quantity int)
     begin
     select amount,quantity,(amount*quantity) as Total;
     end
     //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

위 코드에서 핵심 부분은 다음과 같습니다.

  • delimiter //: 프로시저 내부의 세미콜론(;)이 SQL 종료로 해석되지 않도록 구분 기호를 임시로 변경합니다.
  • create procedure calculation_proc(amount int, quantity int): 정수형 매개변수 두 개를 받는 프로시저를 생성합니다.
  • (amount*quantity) as Total: 두 값의 곱셈 결과에 'Total'이라는 별칭을 붙여 출력합니다.
  • delimiter ;: 프로시저 생성이 끝나면 구분 기호를 원래대로 되돌립니다.

2. 저장 프로시저 호출하기

생성된 저장 프로시저는 CALL 명령어를 사용해 호출할 수 있습니다. 여기서는 금액 250과 수량 3을 인자로 전달해 보겠습니다.

mysql> call calculation_proc(250,3);

3. 실행 결과 확인

프로시저가 정상적으로 실행되면 다음과 같이 amount, quantity, 그리고 곱셈 결과인 Total이 함께 출력됩니다.

+--------+----------+-------+
| amount | quantity | Total |
+--------+----------+-------+
|    250 |        3 |   750 |
+--------+----------+-------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

정리

이처럼 MySQL 저장 프로시저를 사용하면 반복적인 연산 작업을 하나의 프로시저로 정의해 두고, 필요할 때마다 매개변수만 바꿔 간편하게 재사용할 수 있습니다. 덧셈, 뺄셈 등 다른 수학 연산도 같은 방식으로 응용할 수 있으며, 실무에서는 더 복잡한 비즈니스 로직을 프로시저 안에 구현해 활용하기도 합니다.