如何使用 MySQL WHILE 迴圈語句在儲存過程中?


眾所周知,MySQL 為我們提供了迴圈語句,它讓我們可以根據條件重複執行一組 SQL 程式碼。WHILE 迴圈語句就是此類迴圈語句的一種。其語法如下 −

WHILE expression DO
statements
END WHILE

實際上,WHILE 迴圈在每次迭代開始時都會檢查表示式。如果表示式計算結果為真,MySQL 將執行 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)

更新於: 22-6 月 -2020

2k+ 瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.