Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




BEGIN...END

С помощью этой конструкции выполняется группировка двух и более команд в единый блок. Сгруппированные команды воспринимаются интерпретатором Transact-SQL как один оператор. Подобная группировка требуется для конструкций поливариантных ветвлений, условных и циклических конструкций. Ключевое слово BEGIN ставится в начале блока. После него располагаются одна или несколько команд. Завершается блок ключевым словом END.

Блоки BEGIN...END могут быть вложенными. SQL Server 7.0 практически не ограничивает глубину вложенности блоков. На практике глубина вложенности редко превышает 5-7.

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

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

IF...ELSE

Часто определенная часть программы должна выполняться только при определенном условии. Синтаксис этой конструкции следующий:

IF Boolean_expression

{sql_statement | statement_block}

[ELSE

{sql_statement | statement_block}]

Аргумент Boolean_expression определяет логическое условие, которое должно возвращать одно из двух значений: TRUE (истина) – если условие выполняется и FALSE (ложь) – если условие не выполняется. Если возвращается значение TRUE, выполняется первая команда sql_statement или блок команд statement_block. Если логическое условие возвращает FALSE, то будет выполнена команда, находящаяся после ключевого слова ELSE (иначе). При отсутствии команд, выполняемых при несоблюдении условия, ключевое слово ELSE можно не указывать.

CASE...END

Эта конструкция часто используется для замены множества одиночных или вложенных конструкций IF...ELSE. Конструкция CASE...END возвращает результат, ко­торый можно использовать в качестве переменной в других выражениях. При этом она рассматривается как функция. Синтаксис конструкции CASE...END следующий:

CASE input_expression

WHEN { when_expression | Boolean_expression }

THEN result_expression

[...n]

[ ELSE else_result_expression ]

END

Аргумент input_expression определяет входное значение. Можно указать имя переменной или использовать функцию. Аргумент when_expression определяет один из вариантов значений аргумента input_expression. Если аргументы when_expression и input_expression совпадают, то конструкция CASE...END возвращает значение result_expression. Можно указать несколько строк WHEN...THEN, которые будут содержать все возможные варианты величины input_expression. Если все же значение входного параметра не найдено ни в одной строке WHEN...THEN, то тогда будет возвращено значение, указанное после ключевого слова ELSE.




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


Дата добавления: 2015-05-09; Просмотров: 745; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.