Программирование >>  Реализация баз данных 

1 ... 22 23 24 [ 25 ] 26 27 28 ... 162


Категория скалярное киии Описание

Системные функции Выполняют операции и возвращают сведения о значениях,

объектах и настройках SQL Server

Функции системной статистики Возвращают статистические данные о системе

Функции для работы с текстом Выполняют операции над заданным текстом, и изображениями изображением или столбцом с текстовыми

или графическими данными, а также возвращают

сведения о них

Каждой категории соответствует набор функций. Например, функция

рая входит в категорию функций даты и времени, является скалярной функцией, щающей целочисленное значение месяца для заданной даты.

Пользовательские функции

Оператор CREATE FUNCTION позволяет создавать пользовательские функции, оператор ALTER FUNCTION - модифицировать их, а оператор DROP FUNCTION - удалять. Любое полное имя пользовательской функции (имя БД.имя еладельца.имя функции)1ол-жно быть уникальным.

Пользовательская функция способна принимать различное число параметров (от О до 1024) и как скалярное значение, так и таблицу. Если у параметра

есть значение по умолчанию, то, чтобы задать его при вызове функции, следует ввести ключевое слово DEFAULT. Этим параметры пользовательских функции аюти! от параметров хранимых процедур, в которых при отсутствии параметра также подразумевается значение по умолчанию. Пользовательские функции не поддерживают выходные параметры.

Типы пользовательских функций

Язык программирование et-SQL поддерживает два типа пользовательских фушсций:

скалярные и табличные.

Скалярные функции

Скалярные функции возвращают единственное значение, тип которого определяется кон-г струкцией RETURNS. При этом можно использовать все скалярные типы данных, включая bigint и sql variam.

Тип данных timestamp, пользовательские и нескалярные типы данных (например, таблица ил сор ) не поддерживаются. Тело функции, определенное в блоке BEGIN ...END, содержит набор операторов Transact-SQL, которые возвращают значение функции. Функция способна возвращать значение любого типа, кроме text, ntext, image, cursor

и timestamp.

Табличные функции

Табличные функции возвращают таблицы. Существуют табличные функции двух типов: подставляемые и многооператорные. У подставляемых табличные киий тело отсутствует, а возвращаемая таблица представляет собой результирующий набор единственного оператора SELECT. Тело многооператорных функций, определенное в блоке ВЕ-состоит из операторов Transact-SQL, выполняющих строк и

размещение их в возвращаемой таблице.

Операторы из блока 1U:GIN..,Е N D не должны оказывать никаких побочных эффектов. Побочным эффектом функции называются любые постоянные изменения состояния ресурса, область действия которого находится за пределами функции (например, модг!фг ка-



ция таблицы базы данных). Операторам функций разрешено вносить изменения только в

локальные объекты функции к., как локальные курсоры и переменные. Например, посредством функции нельзя модифицировать таблицы базы данных, выполнять операции над

курсорами, которые не являются локальными для функции, рассылать электронную почту,

модифицировать каталог и генерировать результирующий набор, возвращаемого непосредственно пользователю.

Детерминированность функций

В SQL Server есть как детерминированные, так и недетерминированные функции. Детерминированной считается функция, которая возвращает одинаковые результаты, если ее вызывают с одним и тем же набором входных параметров. Недетерминированной называется если при вызове с одним и тем же набором входных параметров она может различные результаты.

Детерминированность определяет возможность их использования в индекси-

рованных вычисляемых столбцах и представлениях. При просмотре

индекса всегда должен получаться согласованный результат. Таким образом, определять вычисляемые столбцы и представления, подлежащие индексированию, можно лишь посредством детерминированных функций.

Функции конфигурации, курсоров, метаданных, безопасности и системной статистики также другие встроенные функции) относятся к

Типы данных

Тип данных - это атрибут, определяющий тип информации, которую может содержать

объект. У всех столбцов, параметров, переменных, функций, возвращающих значения и хранимых процедур с кодами есть определенные типы данных. В име-

ется несколько базовых типов данных, например varchar, text и int. Все данные, хранящиеся

в SQL Server, должны быть совместимыми с одним из этих базовых типов. Создаваемые

пользовательские типы данных всегда определяются на основе базовых типов данных. Типы данных подробно обсуждаются в главе 4.

Выражения

Выражение - это комбинация идентификаторов, значений и которые SQL

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

Использование операторов в выражениях

Операторы позволяют выполнять различные операции: арифметические, сравнения, конкатенации или присваивания. Например, можно проверить данные, чтобы выяснить, не пусто ли поле, в котором содержатся сведения о национальной принадлежности ваших клиентов (или не равно ли оно NULL).

Выполнить операцию в злпроспх выборки данных способен любой, кто имеет право просматривать &1ицу. Чтобы выполнить модификацию данных, нужны соответствующие права доступа.

В SQL Server предусмотрены семь категорий операторов. Все они описаны в следующей таблице.



Замятие 3 Синтаксические элементы языка Transact-SOL Q9

Категория оператора Описание

Сравнение Сравнивает значение с другим значением или выражением

Логический Проверяют истинность условия AND, OR, NOT. LIKE, ANY, ALL

или IN

Арифметический Выполняют ение, вычитание, умножение, деление и операции

по модулю

Унарный Выполняют операции лишь над одним выражением любого типа

данных из категории числовых типов данных

Поразрядный Временно преобразуют обычное числовое значение (например, 150)

в целочисленное и выполняют над ним поразрядные арифметические операции

Конкатенация строк Временно или постоянно объединяет две строки (с символьными или двоичными данными) в одну

Присваивание Присваивают значение переменной или ассоциируют столбец

результирующего набора с псевдонимом

Следующий оператор SELECT с помощью арифметических операторов вычитает из суммарного голового дохода часть, которую следует выплатить автору в качестве гонорара (она равна: объем продаж * процент авторского гонорара/100). В результате получатся сумма, которую получит издатель. Сначала вычисляется произведение и

поскольку первым оператор умножения, произведение делится на а частное вычитается из ytd sales.

USE pubs

SELECT title id. ytd sales - ytd sales royalty / 100 FROM titles

Элементы языка управления ходом выполнения

управления ходом выполнения состоит из специальных слов, которые контролируют ход выполнения операторов MCt-SQL, блоков операторов и хранимых процедур. Эти слова можно использовать в операторах Transact-SQL, пакетах и хранимых

Если язык управления ходом выполнения не используются, отдельные операторы Transact-SQL выполняются последовательно, в том порядке, в каком они Язык управления ходом выполнения допускает объединение связанных операторов Он также позволяет сделать их взаимозависимыми. При этом один оператор языка ния ходом выполнения не может относиться сразу к нескольким пакетам или хранимым процедурам.

Ключевые слова языка управления ходом выполнения полезны, если за-

ставить Transact-SQL предпринять определенного рода действие. Например, с помощью пары операторов можно заключить несколько операторов Transact-SQL в

один логический блок. Пара операторов IF...ELSE позволяет исполнить некоторый олок операторов, если выполняется определенное условие, а если это условие не (т.е. выполняется условие ELSE) - исполнить другой блок операторов.

В таблице приводится описание ключевых слов языка управления

выполнения, которые входят в Transact-SQL.



1 ... 22 23 24 [ 25 ] 26 27 28 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика