Кафедра «Информационные технологии»
Базы данных
Курс лекций по дисциплине «Базы данных» для специальности направления 1-40 01 02‑01 «Информационные системы и технологии (в проектировании и производстве)»
, доцент, канд. физ.-мат. наук
Основы языка Transact-SQL Лекция 2
7. Переменные
8. Функции
8.1. Встроенные функции
8.2. Пользовательские функции
8.2.1. Скалярные функции
8.2.2, 8.2.3. Табличные функции
2
7. Переменные
В Transact-SQL существует несколько способов передачи данных между командами. Одним из таких способов является передача данных через локальные переменные. Переменная должна быть объявлена до ее использования с помощью команды: DECLARE {@local_variable data_type} [… n]
3
При объявлении локальной переменной указывается: имя переменной (должно начинаться с символа @, а последующие символы должны соответствовать правилам именования объектов); тип данных переменной. Часть синтаксиса [… n] означает, что с помощью одной команды DECLARE можно объявить несколько переменных, перечислив их через запятую.
4
Кроме локальных переменных, символ @ также используется при определении имен аргументов хранимых процедур или функций. Переменные предназначены для хранения одинарных значений. Для временного хранения больших объемов информации используются другие объекты SQL Server, в частности, временные таблицы.
5
Примеры объявления переменных: DECLARE @aa int, @@ nvarchar, @1_@ int, @ger_13 bit DECLARE @LastName nvarchar(30), @FirstName nvarchar(20) В имени переменной @@ второй символ @ рассматривается как часть имени переменной, а не как служебный символ. Но обычно с двух символов @@ начинаются имена функций. В качестве имени переменной также могут использоваться комбинации символов: @1, @_, @$, @#.
6
Значения переменным можно присваивать с помощью команд SET и SELECT. С помощью SET можно присвоить значение только одной переменной. Для присвоения значений нескольким переменным нужно выполнить несколько команд SET: DECLARE @aa int, @@ nvarchar (20) SET @aa = 25 SET @@ = 'База данных'
7
Заданные значения переменных можно вывести на экран с помощью команды SELECT:
8
Второй способ присвоения переменной значения - использование команды SELECT:
9
С помощью команды SELECT переменной можно присваивать не только конкретное значение, но и результат вычисления выражения, например: DECLARE @aa int SELECT @aa = SUM(price) FROM titles (вычисляется сумма значений столбца price таблицы titles текущей БД, результат присваивается переменной @aa).
10
11
Примеры использования команд SELECT, PRINT для вывода значений переменных:
Результат обработки: 1-й строки: вывод таблицы (из одного значения 15) на вкладке Results и служебной строки (1 row(s) affected) на вкладке Messages; 2-й строки – вывод числа 100 в качестве служебной информации (на вкладке Messages).
12
Результат обработки - вывод: таблицы (из трех значений) на вкладке Results; служебной строки (3 row(s) affected) на вкладке Messages.
13
8. Функции
SQL Server поддерживает три типа программируемых объектов: функции, хранимые процедуры и триггеры. Вместо исполнения отдельных инструкций и команд эти объекты позволяют создавать программную логику, содержащую циклы, управление исполнением программы, принятие решений и ветвление. Кроме встроенных функций, возможно также создание пользовательских функций, содержащих многократно используемый код.
14
8.1. Встроенные функции
15
Математические функции. Большинство этих функций возвращают результат того же типа, что и исходное значение. Поэтому для их использования нужно правильно задавать исходные данные. Например, при вычислении:
1-е выражение неверно, т.к. в качестве аргумента для перевода в радианы взято целое число, и результат получен с округлением до целого числа (с недостатком). При указании хотя бы одного знака после десятичной точки (2-е выражение) в аргументе встроенной функции выполняется правильное преобразование.
16
Рассмотрим некоторые часто используемые математические функции и примеры их применения. Функция ABS используется для вычисления модуля числа, например:
17
Функция ISNUMERIC проверяет, имеет ли указанное выражение числовой тип данных. Если да, то функция возвращает значение 1, иначе – значение 0.
18
Функция SIGN определяет знак числа. Если значение положительное, то в результате получится 1; если нулевое, то 0; если отрицательное, то -1. Функция RAND вычисляет случайное число с плавающей точкой в интервале от 0 до 1. Аргумент функции долен иметь тип данных tinyint, int, smallint. Если аргумент отсутствует (RAND( )), то значение функции генерируется на основе системного времени.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.