MySQL 저장 프로시저는 입력 매개변수를 수신하고, SQL 문을 실행하고, 결과를 출력할 수 있는 일종의 미리 컴파일된 코드 세그먼트입니다. 저장 프로시저는 일반적으로 복잡한 SQL 작업을 구성하고, SQL 쿼리 성능을 개선하고, 네트워크를 통해 전송되는 데이터 양을 줄이고, 트랜잭션 제어 및 기타 기능을 구현하는 데 사용됩니다. 이 기사에서는 주로 MySQL 저장 프로시저의 루프 제어 구조, 즉 while 및 Repeat-Until 문을 소개합니다.
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 값의 문자열이 출력되는 것을 볼 수 있습니다.
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 값의 문자열이 출력되는 것을 볼 수 있습니다.
루프는 프로그래밍에 없어서는 안 될 기본 구조입니다. MySQL 저장 프로시저의 while 및 반복-until 문은 루프 제어를 실현하고 데이터 처리 및 분석 작업을 보다 효율적으로 완료하는 데 도움이 됩니다. 실제로 코드의 정확성과 성능을 보장하려면 루프 조건의 설정 및 업데이트는 물론 루프 내부 문의 실행 순서와 효율성에도 주의를 기울여야 합니다.
위 내용은 mysql 저장 프로시저 루프의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!