С помощью этой конструкции выполняется группировка двух и более команд в единый блок. Блоки begin…end могут быть вложенными. Глубина вложенности практически не ограничена.
If…else
Часто определенная часть программы должна выполняться только при определенном условии. Синтаксис конструкции имеет следующий вид:
If <условие>
{SQL-выражение | блок SQL-выражений}
else
{SQL-выражение | блок SQL-выражений}
case…end
Эта конструкция используется часто для замены множества конструкций IF..ELSE. Конструкция возвращает результат, который может стать переменной в других выражениях.
Case <Входное значение>
When <Условие> then <Результирующее выражение>
…….
Else <Результирующее выражение>
End
use pubs
declare @v char(2)
set @v=(select state from authors where au_fname='Michel')
print case @v
when 'CA' then 'Калифорния'
when 'IN' then 'Индиана'
else 'Непонятно'
end
Сoalesce
Эта конструкция возвращает первое значение, неравное NULL.
COALESCE(Список выражений)
print coalesce (null,null,3,1)
Цикл.В Transact-SQL имеется единственный цикл WHILE.
While <условие>
{<выражение>|<блок выражений>}
[Breack]
{<выражение>|<блок выражений>}
[Continue]
Цикл можно принудительно остановить с помощью команды Breack или начать заново с помощью команды Continue. Рассмотрим пример.