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

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


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

WHILE expression DO
statements
END WHILE

실제로 WHILE 루프는 모든 반복이 시작될 때 표현식을 확인합니다. 표현식이 true로 평가되면 MySQL은 표현식이 false로 평가될 때까지 WHILE과 END WHILE 사이의 명령문을 실행합니다. WHILE 루프는 문이 실행되기 전에 표현식을 확인하므로 사전 테스트 루프라고도 합니다.

저장 프로시저와 함께 WHILE 루프를 사용하는 방법을 보여주기 위해 다음은 예제입니다 -

mysql> Delimiter //
mysql> CREATE PROCEDURE While_Loop()
  -> BEGIN
-> DECLARE A INT;
-> DECLARE XYZ Varchar(50);
-> SET A = 1;
-> SET XYZ = '';
-> WHILE A <=10 DO
-> SET XYZ = CONCAT(XYZ,A,',');
-> SET A = A + 1;
-> END WHILE;
-> SELECT XYZ;
-> END //
Query OK, 0 rows affected (0.31 sec)

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

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