ในขณะที่ตัวอย่างไวยากรณ์ลูปใน MySQL:
delimiter //
CREATE procedure yourdatabase.while_example()
wholeblock:BEGIN
declare str VARCHAR(255) default '';
declare x INT default 0;
SET x = 1;
WHILE x <= 5 DO
SET str = CONCAT(str,x,',');
SET x = x + 1;
END WHILE;
select str;
END//
ซึ่งพิมพ์:
mysql> call while_example();
+------------+
| str |
+------------+
| 1,2,3,4,5, |
+------------+
ตัวอย่างไวยากรณ์แบบวนซ้ำใน MySQL:
delimiter //
CREATE procedure yourdb.repeat_loop_example()
wholeblock:BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = 5;
SET str = '';
REPEAT
SET str = CONCAT(str,x,',');
SET x = x - 1;
UNTIL x <= 0
END REPEAT;
SELECT str;
END//
ซึ่งพิมพ์:
mysql> call repeat_loop_example();
+------------+
| str |
+------------+
| 5,4,3,2,1, |
+------------+
ตัวอย่างไวยากรณ์ลูปใน MySQL:
delimiter //
CREATE procedure yourdatabase.for_loop_example()
wholeblock:BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = -5;
SET str = '';
loop_label: LOOP
IF x > 0 THEN
LEAVE loop_label;
END IF;
SET str = CONCAT(str,x,',');
SET x = x + 1;
ITERATE loop_label;
END LOOP;
SELECT str;
END//
ซึ่งพิมพ์:
mysql> call for_loop_example();
+-------------------+
| str |
+-------------------+
| -5,-4,-3,-2,-1,0, |
+-------------------+
1 row in set (0.00 sec)
ดูบทแนะนำ: http://www.mysqltutorial.org/stored-procedures-loop.aspx
ถ้าฉันจับได้ว่าคุณดันโครงสร้าง MySQL for-loop แบบนี้ไปสู่การผลิตฉันจะยิงคุณด้วยเครื่องยิงมิสไซล์โฟม คุณสามารถใช้ประแจขันตะปูตอกได้ แต่การทำเช่นนั้นจะทำให้คุณดูงี่เง่า