Создание
и использование определяемой пользователем функции
Определяемая
пользователем функция —
это новый объект 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.