WHILE LOOP SQL Server

В этом учебном пособии вы узнаете, как использовать WHILE LOOP в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

В SQL Server WHILE LOOP используется тогда, когда вы не уверены, сколько раз вы будет выполняться тело цикла, и тело цикла может не выполняться даже один раз.

Синтаксис

Синтаксис WHILE LOOP в SQL Server (Transact-SQL):

WHILE condition
BEGIN
{... statements...}
END;

Параметры или аргументы

condition – условие, которое проверяется при каждом прохождении через цикл. Если условие имеет значение TRUE, выполняется тело цикла. Если условие оценивается как FALSE, цикл завершается.
statements - кода для выполнения при каждом прохождении через цикл.

Примечание

  • Вы должны использовать инструкцию WHILE LOOP, если не знаете, сколько раз вы хотите, чтобы тело цикла выполнялось.
  • Поскольку условие WHILE оценивается перед входом в цикл, возможно, что тело цикла может не выполняться даже один раз.
  • См. также оператор BREAK для выхода из WHILE LOOP раньше.
  • См. также оператор CONTINUE для перезапуска WHILE LOOP с самого начала.

Пример

Рассмотрим пример использования WHILE LOOP в SQL Server (Transact-SQL).
Например:

В этом примере WHILE LOOP цикл завершится, как только значение @site_id превысит 10, как указано в строке:

WHILE LOOP будет продолжаться в то время как @site_id <= 10. И как только @site_id будет > 10, цикл завершится.

Вы также можете использовать WHILE LOOP в курсоре.
Например:

В этом примере WHILE LOOP цикл прекращается, как только @@FETCH_STATUS больше не равен 0, как указано: