Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

저장 프로 시저에서 MySQL REPEAT 루프 문을 어떻게 사용할 수 있습니까?


MySQL이 조건에 따라 SQL 코드 블록을 반복적으로 실행할 수 있도록 하는 루프 문을 제공한다는 것을 알고 있습니다. 반복 루프 문은 이러한 종류의 루프 문 중 하나입니다. 구문은 다음과 같습니다 -

REPEAT
   statements;
UNTIL expression
END REPEAT

먼저 MySQL은 명령문을 실행한 다음 표현식을 평가합니다. 표현식이 FALSE로 평가되면 MySQL은 표현식이 TRUE로 평가될 때까지 명령문을 반복적으로 실행합니다. 반복 루프는 명령문이 실행된 후 표현식을 확인하므로 테스트 후 루프라고도 합니다.

반복 사용 시연 저장 프로시저가 있는 루프, 다음은 예입니다 -

mysql> Delimiter //
mysql> CREATE PROCEDURE Repeat_Loop()
   -> BEGIN
   -> DECLARE A INT;
   -> DECLARE XYZ Varchar(50);
   -> SET A = 1;
   -> SET XYZ = '';
   -> REPEAT
   -> SET XYZ = CONCAT(XYZ,A,',');
   -> SET A = A + 1;
   -> UNTIL A > 10
   -> END REPEAT;
   -> SELECT XYZ;
   -> END //
Query OK, 0 rows affected (0.04 sec)

이제 이 프로시저를 호출할 때 아래 결과를 볼 수 있습니다.

mysql> DELIMITER ;
mysql> CALL Repeat_Loop();
+-----------------------+
| XYZ                   |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)