Определяемая пользователем функция —
это новый объект Microsoft SQL Server 2000, аналогичный представлению и хранимой процедуре. Отличие ее от упомянутых объектов состоит в том, что она всегда, как и любая другая функция, возвращает некоторое значение. Причем в зависимости от того, какое значение возвращает функция, она относится к одному из трех типов:
Встроенная определяемая пользователем функция
представляет собой инструкцию SELECT, которая возвращает обновляемый набор записей.
Табличная определяемая пользователем функция
может содержать несколько инструкций SQL и возвращает необновляемый набор записей.
Скалярная определяемая пользователем функция
возвращает скалярное значение одного из следующих типов данных: int, decimal, varchar, sql_variant или table.
Встроенные и табличные функции обычно употребляются в предложении FROM инструкции SQL, скалярная же функция может быть использована в любом месте запроса, где разрешено использование имени поля таблицы. Кроме этого, определенная пользователем функция может быть применена в качестве источника данных для формы, отчета и поля со списком в форме, однако она не может быть использована в качестве источника записей для страницы доступа к данным.
Правила создания определенной пользователем функции те же самые, что и для хранимой процедуры. То есть можно использовать для ее создания Конструктор запросов, если она состоит из одной инструкции SELECT, или редактор SQL, если тело функции содержит несколько инструкций SQL. В первом случае вы можете использовать ярлык
Создание функции в режиме конструктора
(Create function in designer) в списке запросов окна проекта. Во втором случае необходимо нажать кнопку
Создать
(New) и выбрать соответствующую строку в списке операций диалогового окна
Новый запрос
(New Query).
Подробнее об определенных пользователем функциях см. документацию по Microsoft SQL Server.