如何將 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

2 千 + 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告