MySQL 為我們提供了一個 LOOP 語句,它可以重複執行程式碼區塊,並增加了使用循環標籤的靈活性。我們有以下兩個語句可以讓我們控制循環-
它允許我們立即退出循環而無需等待檢查
它允許我們跳過其下的整個程式碼並開始新的迭代。
示範使用有預存程序的LOOP語句,以下是一個預存程序,它建構一個有偶數的字串,如2、4、6、8等。 -
mysql> Delimiter // mysql> CREATE PROCEDURE LOOP_loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ VARCHAR(255); -> SET A = 1; -> SET XYZ = ''; -> loop_label: LOOP -> IF A > 10 THEN -> LEAVE loop_label; -> END IF; -> SET A = A + 1; -> IF (A mod 2) THEN -> ITERATE loop_label; -> ELSE -> SET XYZ = CONCAT(XYZ,A,','); -> END IF; -> END LOOP; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.07 sec)
現在,當我們呼叫這個過程時,我們可以看到下面的結果-
mysql> DELIMITER ; mysql> CALL LOOP_loop (); +-------------+ | XYZ | +-------------+ | 2,4,6,8,10, | +-------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.04 sec)
在上面的查詢中,如果A 的值大於10,則循環由於LEAVE 語句而終止。如果 A 的值為奇數,則 ITERATE 語句將忽略其下方的所有內容並開始新的迭代。如果 A 的值為偶數,則 ELSE 語句中的區塊將使用偶數建構字串。
以上是MySQL LOOP語句如何在預存程序中使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!