Разработка и сопровождение баз данных в среде СУБД MS SQL Server 2000. Сивохин А.В - 69 стр.

UptoLike

Благодаря ключевому слову ENCRYPTION код команды CREATE FUNCTION,
который был использован для создания функции, будет зашифрован, и никто не
сможет просмотреть его. Эта возможность позволяет скрыть логику работы
функции. Код команд, который используется для создания объектов базы
данных, хранится в столбце text системной таблицы syscomments и без
шифрования может быть просмотрен с помощью обычной команды SELECT.
В теле функции может выполняться обращение к различным объектам базы
данных. Как следствие этой связи, изменение или удаление соответствующих
объектов базы данных может привести к нарушению работы функции. Чтобы
запретить внесение изменений в объекты базы данных, которые могут привести к
нарушению работы создаваемой функции, требуется указать при создании этой
функции ключевое слово SCHEMABINDING.
AS - после этого ключевого слова следует определение собственно тела
функции. В принципе, ключевое слово AS может быть опущено.
BEGIN...END - между этими ключевыми словами указывается набор команд
(function_body), которые собственно и будут являться телом функции.
RETURN scalar_expression - когда в ходе выполнения кода функции
встречается ключевое слово RETURN, выполнение функции завершается и как
результат вычисления функции возвращается значение, указанное
непосредственно после ключевого слова RETURN. В теле функции разрешается
использование множества команд RETURN, которые могут возвращать различные
значения. В качестве возвращаемого значения допускаются как обычные
константы, так и сложные выражения. Тип данных возвращаемого значения
должен совпадать с типом данных, указанных после ключевого слова RETURN.
Функции Inline. Создание функций этого типа выполняется с помощью команды
CREATE FUNCTION, имеющей следующий синтаксис:
CREATE FUNCTION [owner_name.] function_name
( [ {@parameter_name scalar_parameter_data_type
[= default] } [,...n ] ] )
RETURNS TABLE
[ WITH <function_option> [ ,...n ] ]
    Благодаря ключевому слову ENCRYPTION код команды CREATE FUNCTION,
который был использован для создания функции, будет зашифрован, и никто не
сможет просмотреть его. Эта возможность позволяет скрыть логику работы
функции. Код команд, который используется для создания объектов базы
данных, хранится в столбце text системной таблицы syscomments и без
шифрования может быть просмотрен с помощью обычной команды SELECT.
    В теле функции может выполняться обращение к различным объектам базы
данных. Как следствие этой связи, изменение или удаление соответствующих
объектов базы данных может привести к нарушению работы функции. Чтобы
запретить внесение изменений в объекты базы данных, которые могут привести к
нарушению работы создаваемой функции, требуется указать при создании этой
функции ключевое слово SCHEMABINDING.
    AS - после этого ключевого слова следует определение собственно тела
функции. В принципе, ключевое слово AS может быть опущено.
    B E G I N . . . END - между этими ключевыми словами указывается набор команд
(function_body), которые собственно и будут являться телом функции.
    RETURN scalar_expression - когда в ходе выполнения кода функции
встречается ключевое слово RETURN, выполнение функции завершается и как
результат   вычисления      функции          возвращается        значение,   указанное
непосредственно после ключевого слова RETURN. В теле функции разрешается
использование множества команд RETURN, которые могут возвращать различные
значения. В качестве возвращаемого значения допускаются как обычные
константы, так и сложные выражения. Тип данных возвращаемого значения
должен совпадать с типом данных, указанных после ключевого слова RETURN.
    Функции Inline. Создание функций этого типа выполняется с помощью команды
CREATE FUNCTION, имеющей следующий синтаксис:
    CREATE FUNCTION [owner_name.] function_name
    ( [ {@parameter_name scalar_parameter_data_type
                          [ = d e f au lt ] } [, . . . n ] ] )
    RETURNS TABLE
    [ WITH  [ ,...n ] ]