Основы языка Transact-SQL. Переменные. Встроенные функции. Скалярные функции

Страницы работы

Содержание работы

Кафедра «Информационные технологии»

Базы данных

Курс лекций по дисциплине «Базы данных» для специальности направления 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

  • Для вывода значений переменных можно использовать команды:
  • SELECT – выводит данные в стандартный набор строк (recordset);
  • PRINT – выводит служебную информацию (например, сведения о количестве возвращенных строк после выполнения обработки данных в таблице). Служебная информация не обрабатывается обычными командами работы с данными.

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. Встроенные функции

  • Встроенные функции – реализуют наиболее часто используемые алгоритмы и являются частью T-SQL. Эти функции можно условно разделить на следующие группы:
    • математические функции;
    • строковые функции;
    • функции для работы с датой и временем;
    • функции конфигурирования;
    • функции системы безопасности;
    • функции управления метаданными;
    • статистические функции.

15

Математические функции. Большинство этих функций возвращают результат того же типа, что и исходное значение. Поэтому для их использования нужно правильно задавать исходные данные. Например, при вычислении:

1-е выражение неверно, т.к. в качестве аргумента для перевода в радианы взято целое число, и результат получен с округлением до целого числа (с недостатком). При указании хотя бы одного знака после десятичной точки (2-е выражение) в аргументе встроенной функции выполняется правильное преобразование.

16

Рассмотрим некоторые часто используемые математические функции и примеры их применения. Функция ABS используется для вычисления модуля числа, например:

17

Функция ISNUMERIC проверяет, имеет ли указанное выражение числовой тип данных. Если да, то функция возвращает значение 1, иначе – значение 0.

18

Функция SIGN определяет знак числа. Если значение положительное, то в результате получится 1; если нулевое, то 0; если отрицательное, то -1. Функция RAND вычисляет случайное число с плавающей точкой в интервале от 0 до 1. Аргумент функции долен иметь тип данных tinyint, int, smallint. Если аргумент отсутствует (RAND( )), то значение функции генерируется на основе системного времени.

Похожие материалы

Информация о работе