创建用户定义聚合函数

您可以在 SQL Server 中创建在 CLR 程序集中进行编程的数据库对象。能够利用由 CLR 提供的众多编程模型的数据库对象包括触发器、存储过程、函数、聚合函数和类型。

与 Transact-SQL 中提供的内置聚合函数一样,用户定义聚合函数对一组值进行计算,然后返回单个值。

在 SQL Server 中创建用户定义聚合函数包括下列步骤:

  • 用一种 Microsoft .NET Framework 语言将用户定义聚合函数定义为类。有关如何在 CLR 中编写用户定义聚合函数的详细信息,请参阅 CLR 用户定义聚合。使用适当的语言编译器编译此类,以生成 CLR 程序集。

  • 使用 CREATE ASSEMBLY 语句在 SQL Server 中注册程序集。有关 SQL Server 中的程序集的详细信息,请参阅程序集(数据库引擎)

  • 使用 CREATE AGGREGATE 语句创建引用已注册程序集的用户定义聚合函数。

注意注意

在 Microsoft Visual Studio 中部署 SQL Server 项目将在为该项目指定的数据库中注册程序集。部署项目还会在数据库中为使用 SqlUserDefinedAggregate 属性注释的所有类定义创建用户定义聚合。有关详细信息,请参阅 部署 CLR 数据库对象

注意注意

默认情况下,关闭 SQL Server 执行 CLR 代码的功能。可以创建、更改和删除引用托管代码模块的数据库对象,但是只有使用 sp_configure (Transact-SQL) 启用了 clr enabled选项,才能在 SQL Server 中执行这些引用。

创建、修改或删除程序集

创建用户定义聚合函数