Функции Scalar. Создание и изменение функции данного типа выполняется с помощью команды:
Создание и изменение функции данного типа выполняется с помощью команды:
{CREATE | ALTER} FUNCTION [владелец.] имя_функции
( [ { @имя_параметра скалярный_тип__цанных [= Default] } [, . . .n] ] )
RETURNS скалярный_тип_данных
[WITH {ENCRIPTION | SCHEMABINDING} [,...n] ]
[AS]
BEGIN
< тело_функции>
RETURN скалярное_выражение
END
Рассмотрим назначение параметров команды.
Функция может содержать один или несколько входных параметров либо не содержать ни одного.
Каждый параметр должен иметь уникальное в пределах создаваемой функции имя и начинаться с символа "@".
После имени указывается тип данных параметра.
Дополнительно можно указать значение, которое будет автоматически присваиваться параметру (Default), если пользователь явно не указал значение соответствующего параметра при вызове функции.
С помощью конструкции (RETURNS скалярный_тип_данных) указывается, какой тип данных будет иметь возвращаемое функцией значение.
Дополнительные параметры, с которыми должна быть создана функция, могут быть указаны посредством ключевого слова WITH.
Благодаря ключевому слову ENCRYPTION код команды, используемый для создания функции, будет зашифрован, и никто не сможет просмотреть его. Эта возможность позволяет скрыть логику работы функции.
Кроме того, в теле функции может выполняться обращение к различным объектам базы данных, а потому изменение или удаление объектов базы данных может привести к нарушению работы функции.
Чтобы избежать этого, требуется запретить внесение изменений, указав при создании этой функции ключевое слово SCHEMABINDING.
Между ключевыми словами BEGIN...END указывается набор команд, они и будут являться телом функции.
Когда в ходе выполнения кода функции встречается ключевое слою RETURN, выполнение функции завершается и как результат ее вычисления возвращается значение, указанное непосредственно после слова RETURN.
Отметим, что в теле функции разрешается использование множества команд RETURN, которые могут возвращать различные значения.
В качестве возвращаемого значения допускаются как обычные константы, так и сложные выражения.
Единственное условие - тип данных возвращаемого значения должен совпадать с типом данных, указанным после ключевого слова RETURNS.
Пример 1.Создать и применить функцию скалярного типа для вычисления суммарного количества товара, поступившего за определенную дату.
Владелец функции - пользователь с именем userl.
CREATE FUNCTIONПост_дата (@dat DATETIME )
Дата добавления: 2015-08-26; просмотров: 539;