Циклическая конструкция


Transact-SQL поддерживает единственный тип цикла – цикл WHILE, синтаксис которого следующий:

 

WHILE условие

Оператор

[BREAK | CONTINUE]

 

Замечание. Вертикальная черта в описании синтаксиса означает «или», т.е. в данном примере может быть указан либо BREAK, либо CONTINUE.

 

Тело цикла выполняется до тех пор, пока условие истинно. Цикл можно принудительно остановить, если выполнить в теле цикла команду BREAK. Если же нужно начать цикл заново, не дожидаясь выполнения команд тела цикла, необходимо выполнить команду CONTINUE.

 

Конструкция WAITFOR

В некоторых случаях требуется отложить выполнение той или иной команды. Для этих целей можно воспользоваться оператором WAITFOR. Эта команда имеет следующий синтаксис:

 

WAITFOR DELAY <’time’> | TIME <’time’>

 

Если используется параметр DELAY, то указывается, сколько времени необходимо ждать MS SQL Server. Максимально возможная задержка – 24 часа. Пример использования: WAITFOR DELAY ‘01:00’, который приостановит выполнение на один час.

Если используется параметр TIME, то исполнение будет приостановлено до наступления заданного времени. Пример использования: WAITFOR TIME ‘01:00’ – приостановление выполнения кода до наступления часа ночи.

 

Блок TRY/CATCH

Данную конструкцию можно использовать для обработки исключительных ситуаций. Впервые это конструкция появилась в MS SQL Server 2005.

Блок TRY/CATCH в MS SQL Server работает также как и в других языках программирования. Используется следующий синтаксис:

 

BEGIN TRY

{ <выражения SQL> }

END TRY

BEGIN CATCH

{ <выражения SQL> }

END CATCH [ ; ]

 

В блоке BEGIN TRY... END TRY выполняются потенциально опасные команды, если при этом произойдет ошибка уровня 11-19, то выполнение будет передано в блок CATCH.

 

Уровни ошибок:

· 1–10 Информационные сообщения. Например, обнаружение NULL значений при выполнении агрегатных функций. Так как управление в блок CATCH данные ошибки не передают, то для получения информации об ошибки можно использовать функцию @@ERROR.

· 11–19 Относительно серьезные ошибки. Например, нарушение ограничений внешнего ключа.

· 20–25 Очень серьезные ошибки. Это ошибки на уровне системы, поэтому в коде нельзя узнать о ее возникновении. Такие ошибки разрывают текущее соединение и прерывают выполнение команд.

 

Комментарии

 

Существует два вида комментариев:

· однострочные – в этом случае игнорируется текст справа от символов комментария: -- (двойной дефис);

· многострочные – игнорируется текст, записанный между двумя парами символов: /* … */.



Дата добавления: 2021-04-21; просмотров: 120;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.