русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 767; Нарушение авторских прав


В таблице 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, а пользовательские функции способны включать дополнительные выражения, что позволяет создавать более сложные и мощные конструкции.




<== предыдущая лекция | следующая лекция ==>
Системные функции | DECLARE @c INT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.