Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

คำสั่งวนรอบ MySQL REPEAT สามารถใช้ในขั้นตอนการจัดเก็บได้อย่างไร


อย่างที่เราทราบดีว่า MySQL มีคำสั่งวนรอบที่ช่วยให้เราสามารถดำเนินการบล็อกของโค้ด SQL ซ้ำๆ ตามเงื่อนไข ทำซ้ำ คำสั่งวนซ้ำเป็นคำสั่งวนซ้ำประเภทหนึ่ง ไวยากรณ์ของมันคือ −

REPEAT
   statements;
UNTIL expression
END REPEAT

ก่อนอื่น MySQL รันคำสั่ง จากนั้นจึงประเมินนิพจน์ หากนิพจน์ประเมินเป็น FALSE MySQL จะดำเนินการคำสั่งซ้ำๆ จนกว่านิพจน์จะประเมินเป็น TRUE ทำซ้ำ ลูปตรวจสอบนิพจน์หลังจากรันคำสั่ง นั่นคือสาเหตุที่เรียกอีกอย่างว่าลูปหลังการทดสอบ

เพื่อสาธิตการใช้ 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)