SQL-сервер BREAK

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

Обзор оператора BREAK SQL Server

В предыдущем уроке вы узнали, как использовать оператор WHILE для создания цикла. Чтобы выйти из текущей итерации цикла, используйте оператор BREAK.

Ниже показан типичный синтаксис оператора BREAK:

WHILE Boolean_expression
BEGIN
    -- statements
   IF condition
        BREAK;
    -- other statements    
END

В этом синтаксисе оператор BREAK немедленно выходит из цикла WHILE после выполнения условия, указанного в операторе IF. Все операторы между ключевыми словами BREAK и END пропускаются.

Предположим, у нас есть цикл WHILE, вложенный в другой цикл WHILE:

WHILE Boolean_expression1
BEGIN
    -- statement
    WHILE Boolean_expression2
    BEGIN
        IF condition
            BREAK;
    END
END

В этом случае оператор BREAK выходит только из самого внутреннего цикла в операторе WHILE.

Обратите внимание, что оператор BREAK может использоваться только внутри цикла WHILE. Оператор IF часто используется с оператором BREAK, но он не является обязательным.

Пример оператора BREAK SQL Server

Следующий пример иллюстрирует использование оператора BREAK:

DECLARE @counter INT = 0;
WHILE @counter <= 5
BEGIN
    SET @counter = @counter + 1;
    IF @counter = 4
        BREAK;
    PRINT @counter;
END

Выход:

1
2
3

В этом примере:

Сначала мы объявили переменную с именем @counter и установили ее значение равным нулю.

Затем мы использовали оператор WHILE для увеличения @counter на единицу в каждой итерации и вывода значения @counter до тех пор, пока значение @counter меньше или равно пяти.

Внутри цикла мы также проверяли, равно ли значение @counter четырем, затем мы выходили из цикла. На четвертой итерации значение счетчика достигало 4, затем цикл завершался. Также оператор PRINT после оператора BREAK был пропущен.

В этом руководстве вы узнали, как использовать оператор BREAK SQL Server для немедленного выхода из цикла.

Мирослав С.

Автор статей, ИБ-специалист