|
Программирование >> Реализация баз данных
Категория скалярное киии Описание Системные функции Выполняют операции и возвращают сведения о значениях, объектах и настройках 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.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |