Лабораторная работа Пользовательские функции



бет2/4
Дата10.03.2022
өлшемі0,85 Mb.
#27440
түріЛабораторная работа
1   2   3   4
Рис. 12.2.

Синтаксис скалярной пользовательской функции похож на синтаксис хранимой процедуры (см. "Интерфейс информационных систем. Создание интерфейса пользователя" ). Однако имеется ряд существенных отличий ( рис. 12.2):



  1. Область определения имени функции (Inline_Function_Name);

  2. Параметры, передаваемые в процедуру (@Param1). Определение параметров аналогично определению параметров в хранимой процедуре (см. "Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц" );

  3. Тип данных значения возвращаемого процедурой;

  4. Область объявления переменных, используемых внутри функции. Объявление переменных имеет следующий синтаксис:

DECLARE @<Имя переменной> <Тип данных>

  1. Тело самой пользовательской функции, содержит команды языка программирования запросов T-SQL;

  2. Команда RETURN возвращающая результат выполнения функции. Имеет следующий синтаксис:

RETURN @<Имя переменной с результатом>

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



Создадим скалярную пользовательскую функцию, вычисляющую среднее трех величин. В окне новой пользовательской функции наберите код представленный на рис. 12.3.


увеличить изображение


Рис. 12.3.

Рассмотрим более подробно код данной скалярной пользовательской функции ( рис. 12.3):



  1. CREATE FUNCTION [Функция средних трех величин] - определяет имя создаваемой функции как "Функция средних трех величин";

  2. @Value1 Real, @Value2, @Value3 - определяют три параметра процедуры Value1, Value2 и Value3. Данным параметрам можно присвоить целые числа (Тип данных Int);

  3. RETURNS Real - показывает, что функция возвращает дробные числа (Тип данных Real);

  4. DECLARE @Result Real - объявляется переменная @Result для хранения результата работы функции, то есть дробного числа (Тип данных Real);

  5. SELECT @Result=(@Value1+@Value2+@Value3)/3 - вычисляет среднее и помещает результат в переменную @Result ;

  6. RETURN @Result - возвращает значение переменной @Result.

Остальные фрагменты кода рассмотрены выше ( рис. 12.2).

Для создания функции, выполним вышеописанный код, нажав кнопку




(Выполнить) на панели инструментов. В нижней части окна с кодом появиться сообщение "Command(s) completed successfully.". Закройте окно с кодом, щелкнув мышью по кнопке закрытия


расположенной в верхнем правом углу окна с кодом функции.

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




(Новый запрос) на панели инструментов. В появившемся окне с пустым запросом наберите команду SELECT dbo.[Функция средних трех величин] (3, 5, 4) и нажмите кнопку


на панели инструментов ( рис. 12.4).


увеличить изображение




Достарыңызбен бөлісу:
1   2   3   4




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет