Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов. |
Пользовательские функции
Цель: научиться работать с пользовательскими функциями
Теперь рассмотрим создание и применение пользовательских функций. В БД "Microsoft SQL Server 2008" все пользовательские функции находятся в папке "Functions" расположенной в папке "Programmability" в обозревателе объектов ( рис. 12.1).
Начнем с создания скалярных пользовательских функций. Для создания новой скалярной пользовательской функции в обозревателе объектов, в БД "Students", в папке "Programmability", щелкните ПКМ по папке "Functions" и в появившемся меню выберите пункт "New/Scalar-valued Function". Появится окно новой скалярной пользовательской функции ( рис. 12.2)
Синтаксис скалярной пользовательской функции похож на синтаксис хранимой процедуры (см. "Интерфейс информационных систем. Создание интерфейса пользователя" ). Однако имеется ряд существенных отличий ( рис. 12.2):
- Область определения имени функции (Inline_Function_Name);
- Параметры, передаваемые в процедуру (@Param1). Определение параметров аналогично определению параметров в хранимой процедуре (см. "Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц" );
- Тип данных значения возвращаемого процедурой;
- Область объявления переменных, используемых внутри функции. Объявление переменных имеет следующий синтаксис:
DECLARE @<Имя переменной> <Тип данных>
- Тело самой пользовательской функции, содержит команды языка программирования запросов T-SQL;
- Команда RETURN возвращающая результат выполнения функции. Имеет следующий синтаксис:Переменная должна быть того же типа данных, который был указан в пункте 3.
RETURN @<Имя переменной с результатом>
Создадим скалярную пользовательскую функцию, вычисляющую среднее трех величин. В окне новой пользовательской функции наберите код представленный на рис. 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).В нижней части окна с кодом появится результат выполнения новой скалярной пользовательской функции: 4 ( рис. 12.4).