Поиск по сайту:

Для того чтобы усовершенствовать ум, надо больше размышлять, чем заучивать (Р. Декарт).

Как выполнить цикл в хранимой процедуре MySQL

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
9 июня 2021
Новые функции регулярных выражений в MySQL 8.0
Конструкция цикла в SQL и основных языках программирования относится к конструкции, которая многократно выполняет инструкции при условии, что указанное условие истинно. Набор инструкций, выполняемых внутри цикла, может быть одним запросом или набором команд, ведущих к большему набору запросов.

В этой статьи мы обсудим, как реализовать цикл MySQL внутри процедуры.

В этой статьи мы предполагаем, что вы знаете, как работать с процедурами MySQL.

 

Особенности MySQL Loop

Прежде чем мы углубимся в «как» реализации цикла MySQL, давайте перечислим несколько функций цикла:

  1. Цикл может содержать более одного оператора, каждый из которых заканчивается точкой с запятой.
  2. Все операторы и значения внутри цикла выполняются постоянно, но только если установленное условие истинно.
  3. Вы можете завершить цикл, используя инструкцию LEAVE.
  4. MySQL позволяет вам дать имя цикла, используя синтаксис loopName: LOOP

 

Основное использование

Общий синтаксис для реализации простого цикла в 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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читать  MySQL 8.0. Security - поддержка двух паролей
Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close