Реферат: MS SQL Server 9 Yukon. Интеграция с .NET

SystemDataAccess = SystemDataAccessKind.None,

IsDeterministic = true,

IsPrecise = true)]

public static SqlString RevertString(SqlString str)

{

if (str.IsNull)

return SqlString.Null;

System.Text.StringBuilder sb = new

System.Text.StringBuilder(str.Value.Length);

for (int i=str.Value.Length-1; i>=0; i--)

sb.Append(str.Value[i]);

return new SqlString(sb.ToString());

}

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

Во-первых, к методу применен атрибут SqlFunc. Как и SqlProcedure, он позволяет указать средствам автоматического развертывания информацию, необходимую для правильного построения команды CREATE FUNCTION. В данном случае никаких параметров не использовано – атрибут просто указывает, что данный метод надо будет зарегистрировать как функцию. Более подробно мы рассмотрим возможности этого атрибута чуть позже.

А вот следующий атрибут – SQLFunction – уже используется «внутри» MS SQL Server для определения того, как можно эту функцию использовать. В таблице 3 приведено описание параметров этого атрибута:

Имя параметра

Описание

DataAccess

Какой доступ осуществляет функция к пользовательским данным в базе:DataAccessKind.None – никакого.DataAccessKind.Read – читает данные.

SystemDataAccess

Какой доступ осуществляет функция к системным данным в базе:SystemDataAccessKind.None – никакого.SystemDataAccessKind.Read – читает данные.

IsDeterministic

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

IsPrecise

Выполняет ли функция округления в процессе работы.

Таблица 3.

В нашем случае ни к каким данным доступа не происходит, возвращаемое значение зависит только от переданного параметра, и значение является точным, а не приближенным.

ПРИМЕЧАНИЕ

К-во Просмотров: 468
Бесплатно скачать Реферат: MS SQL Server 9 Yukon. Интеграция с .NET