>  기사  >  데이터 베이스  >  저장 프로시저에서 MySQL LOOP 문은 어떻게 사용됩니까?

저장 프로시저에서 MySQL LOOP 문은 어떻게 사용됩니까?

WBOY
WBOY앞으로
2023-08-26 19:13:101252검색

MySQL LOOP语句如何在存储过程中使用?

MySQL은 코드 블록을 반복적으로 실행할 수 있고 루프 레이블 사용에 유연성을 추가할 수 있는 LOOP 문을 제공합니다. 루프를 제어할 수 있는 다음 두 가지 명령문이 있습니다.

LEAVE 문

이를 통해 확인을 기다리지 않고 루프를 즉시 종료할 수 있습니다.

ITEM STATEMENT

아래 코드 전체를 건너뛰고 새로운 반복을 시작합니다.

저장 프로시저와 함께 LOOP 문을 사용하는 방법을 보여줍니다. 다음은 2, 4, 6, 8 등과 같은 짝수로 문자열을 구성하는 저장 프로시저입니다. -

mysql> Delimiter //
mysql> CREATE PROCEDURE LOOP_loop()
    -> BEGIN
    -> DECLARE A INT;
    -> DECLARE XYZ VARCHAR(255);
    -> SET A = 1;
    -> SET XYZ = '';
    -> loop_label: LOOP
    -> IF A > 10 THEN
    -> LEAVE loop_label;
    -> END IF;
    -> SET A = A + 1;
    -> IF (A mod 2) THEN
    -> ITERATE loop_label;
    -> ELSE
    -> SET XYZ = CONCAT(XYZ,A,',');
    -> END IF;
    -> END LOOP;
    -> SELECT XYZ;
    -> END //
Query OK, 0 rows affected (0.07 sec)

이제 이 프로시저를 호출하면 다음과 같은 결과를 볼 수 있습니다. -

mysql> DELIMITER ;
mysql> CALL LOOP_loop ();
+-------------+
| XYZ         |
+-------------+
| 2,4,6,8,10, |
+-------------+
1 row in set (0.04 sec)
Query OK, 0 rows affected (0.04 sec)

위 쿼리에서 A의 값이 10보다 크면 LEAVE 문으로 인해 루프가 종료됩니다. A의 값이 홀수인 경우 ITERATE 문은 그 아래의 모든 항목을 무시하고 새 반복을 시작합니다. A의 값이 짝수인 경우 ELSE 문의 블록은 짝수를 사용하여 문자열을 작성합니다.

위 내용은 저장 프로시저에서 MySQL LOOP 문은 어떻게 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제