Использование инструкций WHILE...BREAK или CONTINUE

Инструкция WHILE повторяет инструкцию или блок инструкций до тех пор, пока указанное условие выполняется.

Обычно с инструкцией WHILE используются следующие две инструкции языка Transact-SQL: BREAK или CONTINUE. Инструкция BREAK выходит из самого внутреннего цикла WHILE, а инструкция CONTINUE заново начинает цикл WHILE. Программа может выполнить инструкцию BREAK в случае, если, например, больше нет строк для обработки. Инструкцию CONTINUE можно выполнять в том случае, если, например, выполнение кода следует продолжить.

ms190385.note(ru-ru,SQL.90).gifПримечание.
Если инструкция SELECT используется в качестве условия для инструкции WHILE, то инструкцию SELECT следует заключить в скобки.

Следующий пример использует инструкцию WHILE для контроля количества сделанных выборок:

USE AdventureWorks;
GO
DECLARE abc CURSOR FOR
SELECT * FROM Purchasing.ShipMethod;
OPEN abc;
FETCH NEXT FROM abc
WHILE (@@FETCH_STATUS = 0)
   FETCH NEXT FROM abc;
CLOSE abc;
DEALLOCATE abc;
GO

Ниже приведены другие возможные проверки условия WHILE:

WHILE (@ACounterVariable < 100)

или

WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')

См. также

Другие ресурсы

BEGIN...END (Transact-SQL)
Операторы END (BEGIN...END) (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)
CONTINUE (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005