mysql 저장 프로시저 루프

WBOY
풀어 주다: 2023-05-12 11:13:36
원래의
1285명이 탐색했습니다.

MySQL 저장 프로시저는 입력 매개변수를 수신하고, SQL 문을 실행하고, 결과를 출력할 수 있는 일종의 미리 컴파일된 코드 세그먼트입니다. 저장 프로시저는 일반적으로 복잡한 SQL 작업을 구성하고, SQL 쿼리 성능을 개선하고, 네트워크를 통해 전송되는 데이터 양을 줄이고, 트랜잭션 제어 및 기타 기능을 구현하는 데 사용됩니다. 이 기사에서는 주로 MySQL 저장 프로시저의 루프 제어 구조, 즉 while 및 Repeat-Until 문을 소개합니다.

  1. while 루프 문

while 루프 문은 MySQL 저장 프로시저에서 while 문을 사용하여 종료 조건이 충족될 때까지 코드 조각을 반복적으로 실행할 수 있습니다. while의 구문은 다음과 같습니다.

WHILE condition DO
    statements
END WHILE;
로그인 후 복사

그 중 조건은 루프를 종료하는 조건이고 명령문은 실행해야 하는 코드 블록입니다. 조건이 참이면 조건이 거짓이 될 때까지 코드 블록이 반복적으로 실행됩니다. 다음은 간단한 while 루프 예입니다.

DELIMITER $$
CREATE PROCEDURE test_while()
BEGIN
    DECLARE i INT DEFAULT 1;
    WHILE i <= 10 DO
        SELECT CONCAT('Hello, World!', i);
        SET i = i + 1;
    END WHILE;
END$$
DELIMITER ;
로그인 후 복사

위의 예에서는 값이 1인 정수 변수 i를 선언한 test_while 저장 프로시저를 정의했습니다. 그런 다음 while 루프를 사용하여 쿼리 문을 실행하고 결과를 출력합니다. 각 루프가 끝나면 i가 10보다 커질 때까지 i 값이 1씩 증가하고 루프가 중지됩니다. 저장 프로시저 test_while을 실행하면 그 결과는 다음과 같습니다.

+----------------------+
| CONCAT('Hello, World!', i) |
+----------------------+
| Hello, World!1       |
| Hello, World!2       |
| Hello, World!3       |
| Hello, World!4       |
| Hello, World!5       |
| Hello, World!6       |
| Hello, World!7       |
| Hello, World!8       |
| Hello, World!9       |
| Hello, World!10      |
+----------------------+
로그인 후 복사
로그인 후 복사

루프가 10번 실행되고, 실행될 때마다 i 값의 문자열이 출력되는 것을 볼 수 있습니다.

  1. repeat-until 루프 문

repeat-until 루프 문은 일반적으로 사용되는 또 다른 루프 구조입니다. MySQL 저장 프로시저에서는 종료 조건이 충족될 때까지 반복-until 문을 사용하여 코드 조각을 반복적으로 실행할 수 있습니다. . Repeat-until의 구문은 다음과 같습니다.

REPEAT
    statements
UNTIL condition
END REPEAT;
로그인 후 복사

그 중 명령문은 실행해야 하는 코드 블록이고 조건은 루프를 종료하는 조건입니다. 조건이 참이면 루프가 종료되고, 조건이 거짓이면 명령문이 반복적으로 실행됩니다. 다음은 간단한 반복-종료 루프 예시입니다:

DELIMITER $$
CREATE PROCEDURE test_repeat()
BEGIN
    DECLARE i INT DEFAULT 1;
    REPEAT
        SELECT CONCAT('Hello, World!', i);
        SET i = i + 1;
    UNTIL i > 10
    END REPEAT;
END$$
DELIMITER ;
로그인 후 복사

위 예시에서는 값이 1인 정수 변수 i를 선언한 test_repeat 저장 프로시저를 정의했습니다. 그런 다음 반복-종료 루프를 사용하여 쿼리 문을 실행하고 결과를 출력합니다. 각 루프가 끝나면 i가 10보다 커질 때까지 i 값이 1씩 증가하고 루프가 중지됩니다. 저장 프로시저 test_repeat를 실행하면 결과는 다음과 같습니다.

+----------------------+
| CONCAT('Hello, World!', i) |
+----------------------+
| Hello, World!1       |
| Hello, World!2       |
| Hello, World!3       |
| Hello, World!4       |
| Hello, World!5       |
| Hello, World!6       |
| Hello, World!7       |
| Hello, World!8       |
| Hello, World!9       |
| Hello, World!10      |
+----------------------+
로그인 후 복사
로그인 후 복사

루프가 10번 실행되고, 실행될 때마다 i 값의 문자열이 출력되는 것을 볼 수 있습니다.

  1. 요약

루프는 프로그래밍에 없어서는 안 될 기본 구조입니다. MySQL 저장 프로시저의 while 및 반복-until 문은 루프 제어를 실현하고 데이터 처리 및 분석 작업을 보다 효율적으로 완료하는 데 도움이 됩니다. 실제로 코드의 정확성과 성능을 보장하려면 루프 조건의 설정 및 업데이트는 물론 루프 내부 문의 실행 순서와 효율성에도 주의를 기울여야 합니다.

위 내용은 mysql 저장 프로시저 루프의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿