Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПК_Занятия_ОПБД / Lectures_16-17.pptx
Скачиваний:
14
Добавлен:
15.04.2015
Размер:
2.98 Mб
Скачать

Пример 5

12. Управляющие конструкции Transact-SQL

BEGIN…END

С помощью этой конструкции две и

более команды группируются в единый блок. Сгруппированные команды воспринимаются интерпретатором T- SQL как одна команда.

Ключевое слово BEGIN ставится в начале блока. После него располагается одна или более команд. Завершается блок ключевым 52словом

END.

Блоки BEGIN…END могут быть

вложенными. Для облегчения

понимания структуры программы вложенные блоки принято выделять, добавляя в начале строки пробелы.

Некоторые команды Transact-SQL не должны выполняться вместе с другими командами, поэтому их включение в

конструкцию BEGIN…END совместно с

другими командами не допускается.

53

К ним относятся команды резервного

копирования, изменения структуры

таблиц, хранимых процедур и другие.

Вчастности, запрещается:

сочетать операторы CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TRIGGER и CREATE VIEW с другими операторами;

изменять структуру таблицы и затем ссылаться на новый столбец в этом

же блоке BEGIN…END.

54

 

IF…ELSE

Часто определенная часть программы должна выполняться только при некотором условии. Конструкция IF…ELSE, задающая такое условие, имеет синтаксис:

Аргумент Boolean_expression

определяет логическое условие, которое должно возвращать одно из двух значений: TRUE – если условие выполняется, FALSE - если условие не выполняется.

56

Если возвращается значение TRUE, то выполняется первая команда

SQL_statement или блок команд statement_block.

Если логическое условие возвращает FALSE, то выполняется команда, находящаяся после ключевого слова ELSE.

При отсутствии команд, выполняемых при несоблюдении условия, ключевое

слово ELSE можно не указывать.

57

В отличие от большинства языков программирования, в конструкции IF…ELSE языка Transact-SQL:

не используется ключевое слово THEN;

указывается не более одной

команды.

58

Если требуется выполнить более

одной команды, то используется конструкция BEGIN…END, например:

CASE…END

Эта конструкция часто используется для замены множества одиночных или вложенных конструкций IF…ELSE.

Конструкция CASE…END возвращает результат, который может стать переменной в других выражениях. При этом конструкция CASE…END

рассматривается как функция.

Синтаксис: 60

Соседние файлы в папке ИПК_Занятия_ОПБД