Функции конфигурирования

В таблице 5 представлены основные функции конфигурирования сервера.

 

 

Формат функции Назначение
@@DATEFIRST Возвращает текущее значение первого дня недели
@@DBTS Выводит текущее значение счетчика timestamp для теку­щей базы данных
@@LANGID Возвращает идентификатор локального языка, являющего­ся текущим
@@LANGUAGE Показывает, какой язык является текущим
@@LОCK_TIMEOUT Возвращает количество миллисекунд, которое сервер будет ожидать до выполнения запроса
@@MAX_CONNECTION Выводит максимальное количество подключений, которое одновременно могут установить пользователи (по умолча­нию 32 767)
@@MAX_PRECISION Возвращает максимальное количество знаков, поддерживаемое сервером для типов данных numeric и decimal
@@NESTLEVEL Возвращает текущий уровень вложенности хранимых про­цедур
@@REMSERVER Возвращает имя удаленного сервера
@@SERVERNAME Возвращает имя локального сервера
@@SPID Возвращает идентификационный номер текущего процесса
@@TEXTSIZE Возвращает максимальный размер блока в байтах, который может быть возвращен командой SELECTдля столбцов типа text, image, varchar (max:) , varbinary(max) , nvarchar(max)
@@VERSION Возвращает информацию о версии сервера, типе процессора, операционной системе


Часть 2. Функции пользователя

При реализации на языке SQL сложных алгоритмов, которые могут понадобиться более одного раза, встает вопрос о сохранении разработанного кода.

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

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

Функции пользователя представляют собой самостоятельные объек­ты базы данных, такие, например, как хранимые процедуры или триггеры. Функция пользователя располагается в определенной базе данных и дос­тупна только в ее контексте.

В SQL Server имеются следующие классы функций пользователя:

Scalar - функции возвращают обычное скалярное значение. Функции этого класса могут включать множество команд, объединяемых в один блок с помощью конструкции BEGIN...END;

Inline - функции содержат всего одну команду select и возвращают пользователю набор данных в виде значения типа данных table;

Multi -statement - функции также возвращают пользователю значение типа данных TABLE, содержащее набор данных, однако в теле функции находится множество команд SQL (в том числе INSERT,UPDATE и т.д.). Именно с их помощью и формируется набор данных, который должен быть воз­вращен после выполнения функции.

 

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

В отличие от хранимых процедур функция не имеет выходных параметров (только входные).

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

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

Надо отметить и следующее: хранимая процедура, конечно, может возвращать результирующий набор, но для дальнейшего использования этого набора, например, в запросах, его необходимо предварительно вставить в какую-либо таблицу (например, во временную). Даже, если хранимая процедура возвращает табличный результирующий набор, все равно в кодах необходимо сделать ещё шаг. Это неудобно. Результирующий набор, возвращаемый функцией, можно использовать в любых запросах.

 

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









Дата добавления: 2015-08-26; просмотров: 714;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.