Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Функции SQL и их классификация

Функции SQL и их классификацияНесмотря на отсутствие классификации функций в стандарте SQL, их все можно условно разделить на две широкие категории: Детерминистские и Недетерминистские. Детерминистские функции при подаче им на вход одного и того же аргумента всегда возвращают один и тот же результат;недетерминистские могут вернуть разные результаты. Так, функция ABS возвращает абсолютное значение передаваемого ей числа — она детерминистская. К примеру, если в любой момент ей подать на вход число -5, она всегда вернет значение 5. Функция Micrsoft SQL Server GETDATE() вообще не имеет аргументов и возвращает текущие дату и время сервера — это пример недетерминистской функции. При каждом ее вызове она выдает разные значения, даже если они отличаются на доли секунды. В некоторых СУБД использование недетерминистских функций ограничено. К примеру, в Micrsofot SQL Server запрещено использование таких функций для индексированных вычисляемых столбцов и индексированных представлений. В IBM DB2 9.5 не разрешены недетерминистские функции в условиях объединения, а в Oracle их нельзя использовать для создания основанных на функциях индексов. Практически любой производитель СУБД вводит в свои продукты процедурные расширения. В Microsoft SQL Server используется язык Transact-SQL (также применяемый в Sybase), в Oracle — PL/SQL, а в DB2 9.5 —SQL PL. В отличие от работающего со множествами SQL, эти процедурные расширения позволяют создавать в своей управляющей среде полноценные программы. Пользовательские функции также создаются с помощью одного из этих процедурных расширений. Список функций, доступных в конкретных СУБД, растет с выходом каждой их новой версии, а некоторые производители предоставляют пользователям возможность создавать собственные функции для выполнения нестандартных задач. В этой главе будет представлен только короткий список самых полезных функций и их описания, при этом будут высвечены особенности их реализации и использования в конкретных СУБД. Полный список специфичных для конкретных СУБД функций можно найти в приложении Ж. Основная проблема использования функций в запросах заключается в том, что

Уназаметку в некоторых реализациях такие запросы могут работать некорректно. Некоторые У Функции идентичны и по имени, и по назначению; другие различаются только

Именем; некоторые же вообще существуют только в определенных реализациях СУБД.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *