Поделиться через


Создание определяемых пользователем агрегатных функций

Можно создать объект базы данных внутри SQL Server, который запрограммирован в сборке среды CLR. В число объектов базы данных, способных эффективно использовать предоставляемую средой CLR многофункциональную модель программирования, входят триггеры, хранимые процедуры, функции, агрегатные функции и типы.

Подобно встроенным агрегатным функциям, предоставленным в Transact-SQL, пользовательские агрегатные функции производят вычисление в ряде значений и возвращают одиночное значение.

Создание пользовательской агрегатной функции в SQL Server включает в себя следующие шаги.

  • Определите пользовательскую агрегатную функцию как класс на языке, поддерживаемом платформой Microsoft .NET. Дополнительные сведения о программировании определяемых пользователем статистических функций в среде CLR см. в разделе Пользовательские агрегатные функции среды CLR. Скомпилируйте этот класс для построения сборки среды CLR, используя соответствующий языку компилятор.

  • Зарегистрируйте сборку в SQL Server с помощью инструкции CREATE ASSEMBLY. Дополнительные сведения о сборках в SQL Server см. в разделе Сборки (компонент Database Engine).

  • Создайте пользовательское статистическое выражение, которое ссылается на зарегистрированную сборку, используя инструкцию CREATE AGGREGATE.

ПримечаниеПримечание

Развертывание проекта SQL Server в Microsoft Visual Studio регистрирует сборку в базе данных, указанную для проекта. Развертывание проекта также создает пользовательские статистические функции в базе данных для всех классов, которые могут иметь атрибут SqlUserDefinedAggregate. Дополнительные сведения см. в разделе Развертывание объектов базы данных CLR.

ПримечаниеПримечание

Возможность SQL Server выполнять код CLR по умолчанию отключена. Можно создавать, изменять и удалять объекты базы данных, которые ссылаются на модули управляемого кода, но эти ссылки не будут выполнены в SQL Server, пока параметр clr enabled не получит значение True с помощью хранимой процедуры sp_configure (Transact-SQL).

Создание, изменение или удаление сборки

Создание пользовательской статистической функции

См. также

Другие ресурсы

Основные понятия о программировании интеграции со средой CLR