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

MySQL 저장 프로시저에서 두 개의 변수를 선언하고 수학 연산을 수행하는 방법

MySQL 저장 프로시저에서 두 개의 변수 선언 후 곱셈 연산하기

MySQL 저장 프로시저 내부에서는 DECLARE 문을 사용하여 지역 변수를 선언할 수 있습니다. 이번 글에서는 두 개의 정수형 변수를 선언하고 값을 할당한 뒤, 두 값의 곱셈 결과를 조회하는 저장 프로시저를 만드는 과정을 단계별로 살펴보겠습니다.

1. 저장 프로시저 생성

먼저 CREATE PROCEDURE 문으로 저장 프로시저를 생성합니다. 프로시저 본문 안에서 DECLARE로 변수를 선언하고, SET으로 값을 할당한 후 SELECT로 결과를 반환합니다.

mysql> delimiter //
mysql> create procedure declare_demo_sp()
    begin
    declare Value1 int;
    declare Value2 int;
    set Value1=100;
    set Value2=2000;
    select Value1,Value2,Value1*Value2 as MultiplicationResult;
    end
    //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

코드 설명:

  • delimiter // : 저장 프로시저 내부의 세미콜론(;)이 SQL 문 종료로 해석되지 않도록 구분 기호를 임시로 변경합니다.
  • declare Value1 int;, declare Value2 int; : 정수형(INT) 지역 변수 Value1과 Value2를 각각 선언합니다.
  • set Value1=100;, set Value2=2000; : 선언된 변수에 100과 2000이라는 값을 할당합니다.
  • select ... as MultiplicationResult; : 두 변수의 값과 곱셈 결과를 함께 조회하며, 별칭(Alias)을 지정해 결과 컬럼명을 명확하게 표시합니다.
  • delimiter ; : 작업이 끝난 후 구분 기호를 원래대로 되돌립니다.

2. 저장 프로시저 호출

생성된 저장 프로시저는 CALL 명령어를 통해 실행할 수 있습니다.

mysql> call declare_demo_sp();

3. 실행 결과 확인

프로시저를 호출하면 다음과 같은 결과가 출력됩니다.

+--------+--------+----------------------+
| Value1 | Value2 | MultiplicationResult |
+--------+--------+----------------------+
|    100 |   2000 |               200000 |
+--------+--------+----------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

출력 결과에서 확인할 수 있듯이, Value1(100)과 Value2(2000)의 곱인 200000이 MultiplicationResult 컬럼에 담겨 반환됩니다. 이처럼 저장 프로시저 안에서 변수를 선언하고 활용하면 여러 단계의 계산 로직을 하나의 단위로 묶어 재사용성과 유지보수성을 높일 수 있습니다.