Skip to content

15. Инструкции языка управления потоком Transact SQL

Pandas edited this page Dec 30, 2017 · 1 revision
Инструкции Описание
BEGIN...END Включает в себя последовательность инструкций языка Transact-SQL, позволяя выполнять группу инструкций Transact-SQL. Ключевые слова BEGIN и END относятся к языку потока управления.
BREAK Выполняет выход из самого внутреннего цикла в инструкции WHILE или из инструкции IF...ELSE в цикле WHILE. Выполняется любая инструкция, находящаяся сразу после ключевого слова END, обозначающего конец цикла. Часто, но не всегда, ключевое слово BREAK встречается после проверки условия инструкции IF.
CONTINUE Производит перезапуск цикла WHILE. Никакие инструкции после ключевого слова CONTINUE не выполняются. CONTINUE часто, но не всегда, предваряется проверкой IF.
GOTO label Переводит поток выполнения на метку. Инструкции языка Transact-SQL или инструкции, следующие за инструкцией GOTO, пропускаются, и выполнение продолжается с метки. Инструкция GOTO и метки могут быть включены в процедуру, пакет или блок инструкций. Инструкции GOTO могут быть вложенными.
IF...ELSE Задает условия для выполнения инструкции Transact-SQL. Инструкция языка Transact-SQL, следующая за ключевым словом IF и его условием выполняется только в том случае, если логическое выражение возвращает TRUE. Необязательное ключевое слово ELSE представляет другую инструкцию языка Transact-SQL, которая выполняется, если условие IF не удовлетворяется: логическое выражение возвращает FALSE.
RETURN Служит для безусловного выхода из запроса или процедуры. Инструкция RETURN выполняется немедленно и полностью и может использоваться в любой точке для выхода из процедуры, пакета или блока инструкций. Инструкции, следующие после RETURN, не выполняются.
THROW Вызывает исключение и передает выполнение блоку CATCH конструкции TRY...CATCH в SQL Server.
TRY...CATCH Реализация обработчика ошибок на языке Transact-SQL похожа на обработку исключений в языках Microsoft Visual C# и Microsoft Visual C++. Группа инструкций на языке Transact-SQL может быть заключена в блок TRY. Если ошибка возникает в блоке TRY, управление передается следующей группе инструкций, заключенных в блок CATCH.
WAITFOR Блокирует выполнение пакета, хранимой процедуры или транзакции до наступления указанного времени или интервала времени, либо заданная инструкция изменяет или возвращает, по крайней мере, одну строку.
WHILE Ставит условие повторного выполнения SQL-инструкции или блока инструкций. Эти инструкции вызываются в цикле, пока указанное условие истинно. Вызовами инструкций в цикле WHILE можно контролировать из цикла с помощью ключевых слов BREAK и CONTINUE.
Clone this wiki locally