Объявление переменной


 

Синтаксис команды (внутри квадратных скобок в описании синтаксиса располагаются необязательные элементы):

 

DECLARE @ИмяПеременной ТипДанных [ ,…n]

Пример объявления одной переменной:

DECLARE @sum int

 

Пример объявления нескольких переменных:

DECLARE @temp int, @count float

Присвоение значения

 

Синтаксис команды:

SET @ИмяПеременной = Выражение

 

Пример присвоения значения:

SET @sum = 0

В версии MS SQL Server 2008 появились следующие нововведения.

· Инициализировать переменную стало можно сразу при объявлении, например:

DECLARE @iCounter int = 0

 

· Появились операторы +=, –=, *=, /= для краткой формы записи арифметических конструкций.

 

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

 

Группировка команд

Группировка двух и более команд в единый блок осуществляется с помощью конструкции:

 

BEGIN

...

END

 

Такая группировка используется в условных и циклических конструкциях.

Конструкция ветвления

Выполнение той или иной группы команд в зависимости от выполнения или не выполнения некоторого условия реализуется с помощью конструкции:

 

IF <условие>

Оператор

[ELSE

Оператор ]

 

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

Следует отметить особенность проверки значений на NULL (специальный маркер, обозначающий отсутствие информации). Вместо обычного сравнения: IF @myvar = NULL, следует использовать оператор IS: IF @myvar IS NULL.

 

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

Аналогична оператору CASE в языках программирования. В MS SQL Server 2008 оператор CASE имеет два возможных варианта использования.

 

1. С входным выражением:

 

CASE <входное выражение>

WHEN <выражение when > THEN <результат>

[...]

[ELSE <результат>]

END

Пример:

 

SELECT TOP 10 SalesOrderID, SalesOrderID % 10 AS ‘Last Digit’, Position = CASE SalesOrderID % 10

WHEN 1 THEN ‘Один’

WHEN 2 THEN ‘Два’

WHEN 3 THEN ‘Три’

WHEN 4 THEN ‘Четыре’

ELSE ‘Другое’

END

FROM Sales.SalesOrderHeader;

 

Результат запроса представлен на рис. 3.1.

 

 

Рис. 3.1. Результат использования оператора CASE

 

2. Без входного выражения:

 

CASE

WHEN <логическое выражение> THEN <результат>

[...]

[ELSE <результат>]

END

 

Используется, как правило, для поиска.

Пример:

 

SELECT TOP 10 SalesOrderID % 10 AS 'OrderLastDigit',

ProductID % 10 AS 'ProductLastDigit',

"How Close?" = CASE

WHEN (SalesOrderID % 10) < 3 THEN 'Меньше трёх'

WHEN ProductID = 6 THEN 'ProductID равен 6'

WHEN ABS(SalesOrderID % 10 - ProductID) <= 1 THEN ' В пределах одного'

ELSE 'Больше одного'

END

FROM Sales.SalesOrderDetail

ORDER BY SalesOrderID DESC;

 

Результат выполнения запроса представлен на рис. 3.2.

 

 

Рис. 3.2. Результат использования оператора CASE

 



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


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

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

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

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