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


眾所周知,MySQL 為我們提供了迴圈語句,該語句允許我們根據條件重複執行一個 SQL 程式碼塊。REPEAT 迴圈語句便是此類迴圈語句之一。其語法如下所示 −

REPEAT
   statements;
UNTIL expression
END REPEAT

首先,MySQL 執行語句,然後計算表示式。如果表示式計算結果為 FALSE,MySQL 將重複執行語句,直到表示式計算結果為 TRUE。REPEAT 迴圈在執行語句之後檢查表示式,這就是它也被稱為後測試迴圈的原因所在。

為了演示如何將REPEAT 迴圈與儲存過程一起使用,以下是一個示例 −

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)

更新時間: 22-Jun-2020

804 次瀏覽

開啟你的 職業

完成該課程以獲得認證

開始
廣告