MySQL dùng LOOP ... END LOOP với nhãn (label) thay FOR truyền thống.
Cấu trúc:
delimiter // CREATE procedure yourProcedureName() wholeblock:BEGIN DECLARE anyVariableName1 INT; Declare anyVariableName3 int; DECLARE anyVariableName2 VARCHAR(255); SET anyVariableName1 = 1; SET anyVariableName3 = 10; SET anyVariableName2 = ''; loop_label: LOOP IF anyVariableName1 > anyVariableName3 THEN LEAVE loop_label; END IF; SET anyVariableName2 = CONCAT(anyVariableName2, anyVariableName1, ','); SET anyVariableName1 = anyVariableName1 + 1; ITERATE loop_label; END LOOP; SELECT anyVariableName2; END //
Ví dụ in 1-10:
mysql> call ForLoop();
Kết quả: 1,2,3,4,5,6,7,8,9,10,