Рис. 12.2.
Синтаксис скалярной пользовательской функции похож на синтаксис хранимой процедуры (см. "Интерфейс информационных систем. Создание интерфейса пользователя" ). Однако имеется ряд существенных отличий ( рис. 12.2):
Область определения имени функции (Inline_Function_Name);
Параметры, передаваемые в процедуру (@Param1). Определение параметров аналогично определению параметров в хранимой процедуре (см. "Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц" );
Тип данных значения возвращаемого процедурой;
Область объявления переменных, используемых внутри функции. Объявление переменных имеет следующий синтаксис:
DECLARE @<Имя переменной> <Тип данных>
Тело самой пользовательской функции, содержит команды языка программирования запросов T-SQL;
Команда RETURN возвращающая результат выполнения функции. Имеет следующий синтаксис:
RETURN @<Имя переменной с результатом>
Переменная должна быть того же типа данных, который был указан в пункте 3.
Создадим скалярную пользовательскую функцию, вычисляющую среднее трех величин. В окне новой пользовательской функции наберите код представленный на рис. 12.3.
увеличить изображение
Рис. 12.3.
Рассмотрим более подробно код данной скалярной пользовательской функции ( рис. 12.3):
CREATE FUNCTION [Функция средних трех величин] - определяет имя создаваемой функции как "Функция средних трех величин";
@Value1 Real, @Value2, @Value3 - определяют три параметра процедуры Value1, Value2 и Value3. Данным параметрам можно присвоить целые числа (Тип данных Int);
RETURNS Real - показывает, что функция возвращает дробные числа (Тип данных Real);
DECLARE @Result Real - объявляется переменная @Result для хранения результата работы функции, то есть дробного числа (Тип данных Real);
SELECT @Result=(@Value1+@Value2+@Value3)/3 - вычисляет среднее и помещает результат в переменную @Result ;
RETURN @Result - возвращает значение переменной @Result.
Остальные фрагменты кода рассмотрены выше ( рис. 12.2).
Для создания функции, выполним вышеописанный код, нажав кнопку
(Выполнить) на панели инструментов. В нижней части окна с кодом появиться сообщение "Command(s) completed successfully.". Закройте окно с кодом, щелкнув мышью по кнопке закрытия
расположенной в верхнем правом углу окна с кодом функции.
Проверим работу созданной скалярной пользовательской функции. Для запуска пользовательской функции необходимо создать новый пустой запрос, нажав на кнопку
(Новый запрос) на панели инструментов. В появившемся окне с пустым запросом наберите команду SELECT dbo.[Функция средних трех величин] (3, 5, 4) и нажмите кнопку
на панели инструментов ( рис. 12.4).
увеличить изображение
Достарыңызбен бөлісу: |