MySQL 저장 프로시저 작성 방법에 대한 자세한 설명

1. 저장 프로시저란 무엇입니까?

MySQL의 저장 프로시저는 여러 애플리케이션에서 사용할 수 있는 재사용 가능한 코드 블록입니다. MySQL 저장 프로시저는 다른 프로그래밍 언어의 함수 또는 서브루틴과 유사하게 이름으로 캡슐화되고 MySQL 데이터베이스에 저장되는 미리 정의된 SQL 코드 집합입니다. 저장 프로시저는 복잡한 비즈니스 논리를 이해하기 쉬운 모듈로 캡슐화하여 쉽게 호출하고 유지 관리할 수 있도록 도와줍니다.

2. 저장 프로시저 작성 방법

2.1 저장 프로시저 만들기

MySQL에서는 CREATE PROCEDURE 문을 사용하여 저장 프로시저를 만들 수 있으며 구문은 다음과 같습니다.

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name parameter_type, ...) BEGIN -- 此处是存储过程的主体部分 END;

  • procedure_name: 저장 프로시저 이름입니다.
  • parameter_name: 저장 프로시저 매개변수 이름, 쉼표로 구분된 여러 매개변수가 있을 수 있습니다.
  • parameter_type: INT, VARCHAR, DATE 등과 같은 모든 유형이 될 수 있는 매개변수 유형입니다.

2.2 저장 프로시저 매개변수

저장 프로시저에서 IN, OUT 또는 INOUT 유형의 매개변수를 정의할 수 있습니다. 다양한 유형의 매개변수를 사용할 때 다음과 같은 요구 사항이 있습니다.

  • IN: 매개변수가 입력 매개변수임을 나타냅니다.
  • OUT: 파라미터가 출력 파라미터임을 나타냅니다.
  • INOUT: 매개변수가 입력 매개변수인 동시에 출력 매개변수임을 나타냅니다.

2.3 저장 프로시저 본체

저장 프로시저의 주요 부분에는 다양한 비즈니스 논리를 실현할 수 있는 일부 SQL 문과 제어 흐름 문이 포함됩니다. 다음은 간단한 예입니다.

CREATE PROCEDURE `get_user_by_id`( IN p_user_id INT, -- 输入参数 OUT p_user_name VARCHAR(255), -- 输出参数 OUT p_user_age INT -- 输出参数 ) BEGIN SELECT user_name, user_age -- 查询语句 INTO p_user_name, p_user_age FROM user_info WHERE user_id = p_user_id; END;

위의 예에서 저장 프로시저는 이름이 지정되고 get_user_by_id정수 유형의 입력 매개변수를 허용하며 p_user_id쿼리 결과를 출력 매개변수 and user_name에 할당합니다 .user_agep_user_namep_user_age

3. 저장 프로시저 예

다음은 특정 시간 범위 내의 주문 금액 합계에 대해 Orders 테이블을 쿼리하는 저장 프로시저의 보다 구체적인 예입니다.

CREATE PROCEDURE `get_total_sales`( IN p_start_date DATE, IN p_end_date DATE, OUT p_total_sales DECIMAL(10, 2) ) BEGIN SELECT SUM(order_amount) INTO p_total_sales FROM order_info WHERE order_date BETWEEN p_start_date AND p_end_date; END;

위의 저장 프로시저는 이름이 지정되고 get_total_sales날짜 유형의 두 입력 매개변수를 허용하며 쿼리 결과의 합계를 출력 매개변수에 할당합니다 p_total_sales. 저장 프로시저를 실행할 때 다음 SQL 문을 사용할 수 있습니다.

CALL get_total_sales('2021-06-01', '2021-06-30', @total_sales); SELECT @total_sales as total_sales;

위의 SQL 문에서 먼저 저장 프로시저를 호출 get_total_sales하고 필요한 매개 변수를 전달하고 쿼리 결과를 변수에 할당한 @total_sales다음 쿼리 결과를 SELECT 문을 통해 출력합니다.

4. 저장 프로시저 요약

저장 프로시저는 복잡한 비즈니스 논리를 간단하고 사용하기 쉬운 모듈로 캡슐화하고 코드 재사용성, 유지 관리성 및 실행 효율성을 향상시키는 데 도움이 되는 MySQL의 매우 실용적인 기능입니다. 저장 프로시저를 작성할 때 저장 프로시저 생성, 매개 변수 정의 및 저장 프로시저 본문 작성을 포함하여 저장 프로시저의 기본 구문을 이해해야 합니다. 동시에 저장 프로시저를 작성하는 과정에서 보안 및 성능 최적화에 중점을 두고 사양 작성에 주의를 기울여야 합니다.

추천

출처blog.csdn.net/weixin_65846839/article/details/131080832