Для создания сложных запросов, выполняемых в несколько этапов, в SQL предусмотрены переменные.
В переменных могут сохраняться результаты вычисления встроенных функций и констант.
Для использования переменной, ее надо предварительно «объявить», выполнив
команду DECLARE языка SQL. Команда DECLARE имеет
следующий формат: DECLARE
<имя_переменной> <тип_переменной>
, где
<имя_переменной>
- это название объявляемой переменной, а
<тип_переменной>
- тип данных, хранимых в ней. Названия переменных
начинаются с символа «@», после которого могут использоваться буквы латинского
алфавита, цифры и знаки «@», «$», «%»,
«&», «~», «_».
Поддерживаются следующие основные типы данных:
Geometry
- пространственный объект;
BigInt
- целочисленное значение в диапазоне от
-263-1
до
263
(от -
9,223,372,036,854,775,808
по
+9,223,372,036,854,775,807
);
Int
- целочисленное значение в диапазоне от
-231
(-2,147,483,648
) to
231-1
(2,147,483,647
);
SmallInt
- целочисленное значение в диапазоне от
-215
(-32,768
) to
215-1
(32,767
);
Double
, Float
,
Real
- число с плавающей точкой;
char
, varchar
- строковое
значение.
Переменным можно присваивать только значения соответствующего типа данных. Для задания
значения переменной используется команда SET языка SQL, имеющая формат
SET
<имя_переменной>
=<Выражение>
, где
<Выражение>
- выражение составленное из числовых и строковых
функций и констант, соединенных знаками сложения, вычитания, умножения и деления, и
сгруппированных с помощью скобок.
Использование переменных
DECLARE @i Int; SET @i = 2+2; SELECT @i*3
В примере объявляется переменная @g
типа Int
.
Для переменной задается значение - результат вычисления выражения 2+2
, после
чего значение переменной умноженной на 3 выводится в область ответа с помощью ключевого слова
SELECT.