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

Их весьма мало. К ним относятся:

 

1) Блок BEGIN … END. Выполняет группировку двух и более TSQL команд. Используется в конструкциях ветвлений, условий и циклов. Допускаются вложенные друг в друга блоки.

2) Конструкция IF … ELSE. Переход по условию. Допускается в каждой ветви исполнять одну команду или использовать блок BEGIN…END. Пример:

PRINT GetDate()

IF Day(GetDate())=1 AND Month(GetDate())=1

BEGIN

PRINT 'Сегодня Новый Год!'

IF CURRENT_USER='dbo'

PRINT 'Администратор СУБД - это судьба...'

END

ELSE PRINT 'Сегодня точно не Новый Год.'

 

3) Конструкция CASE … END. Реализует множественное ветвление. Особенностью конструкции является то, что её можно использовать непосредственно в выражениях, например, при выполнении запроса. Пример:

 

SELECT au_lname, au_fname,

CASE state

WHEN ‘CA’ THEN ‘Калифорния’

WHEN ‘UT’ THEN ‘Юта’

ELSE state

END
FROM authors

WHERE au_lname LIKE ’O%’

 

4) Конструкция COALESCE возвращает первое значение, не равное NULL, из перечня аргументов функции. Пример:

DECLARE @I1 int, @C1 char, @C2 char, @C3 char

SET @I1 = 10

SET @C1 = 'A'

SET @C2 = @C1 + @C3

PRINT COALESCE(@C2,@I1)

Так как конкатенацией любой строки со значением NULL является NULL, то результатом выполнения этой последовательности команд будет значение 10.

 

5) Конструкция WHILE… . Организует циклы в TSQL. Это единственный способ организовать циклы в этом языке. Цикл можно принудительно остановить, если в его теле выполнить команду BREAK, и перезапустить из любого места внутри тела цикла с помощью команды CONTINUE.

 

DECLARE @I1 int

SET @I1 = 1

WHILE @I1 < 8

BEGIN

PRINT 'Квадрат числа '+Str(@I1)+' есть '+Str(Square(@I1))

SET @I1 = @I1 + 1

END

 








Дата добавления: 2015-07-30; просмотров: 1310;


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

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.