Конструкция цикла в SQL и основных языках программирования относится к конструкции, которая многократно выполняет инструкции при условии, что указанное условие истинно. Набор инструкций, выполняемых внутри цикла, может быть одним запросом или набором команд, ведущих к большему набору запросов.
В этой статьи мы обсудим, как реализовать цикл MySQL внутри процедуры.
В этой статьи мы предполагаем, что вы знаете, как работать с процедурами MySQL.
Прежде чем мы углубимся в «как» реализации цикла MySQL, давайте перечислим несколько функций цикла:
Общий синтаксис для реализации простого цикла в MySQL:
[begin_label:] LOOP statement_list END LOOP [end_label]
Список операторов должен также включать условие LEAVE, которое указывает, когда цикл должен завершиться.
Этикетка представляет имя цикла.
Синтаксис ниже показывает реализацию цикла с оператором LEAVE:
[name]: LOOP statement_list; IF condition THEN LEAVE [label]; END IF; END LOOP [end_label];
В этом разделе мы попытаемся проиллюстрировать, как использовать LOOP в процедуре. Цель процедуры — реализовать простой цикл и не будет отражать реальные данные.
Рассмотрим процедуру ниже, которая реализует цикл для поиска четных чисел:
DROP PROCEDURE IF EXISTS loopMe; DELIMITER $$ CREATE PROCEDURE loopMe() BEGIN DECLARE i INT; SET i = 1; SET @str = ''; iterateMe: LOOP IF i > 10 THEN LEAVE iterateMe; END IF; SET i = i + 1; IF (i mod 2) THEN ITERATE iterateMe; ELSE SET @str = CONCAT(@str,i,' '); END IF; END LOOP; SELECT @str AS EVEN; END$$ DELIMITER ; CALL loopMe()
После вызова цикла мы получаем значения четных чисел, разделенных пробелами, как указано в функции CONCAT().
В этой статье мы рассмотрели основы использования цикла MySQL для итерации набора инструкций. Циклы MySQL работают аналогично циклам в других языках программирования, таких как Python, C ++ и JavaScript.