创建用户定义聚合
适用于: SQL Server 2016 (13.x) 及更高版本
可以在 SQL Server 中创建在 CLR 程序集中进行编程的数据库对象。 能够使用由 CLR 提供的众多编程模型的数据库对象包括触发器、存储过程、函数、聚合函数和类型。
与 Transact-SQL 中提供的内置聚合函数一样,用户定义聚合函数对一组值进行计算,然后返回单个值。
在 SQL Server 中创建用户定义聚合函数包括下列步骤:
用一种 Microsoft .NET Framework 支持的语言将用户定义聚合函数定义为类。 有关如何在 CLR 中编写用户定义聚合函数的详细信息,请参阅 CLR 用户定义聚合函数。 使用适当的语言编译器编译此类,以生成 CLR 程序集。
使用 CREATE ASSEMBLY 语句在 SQL Server 中注册程序集。 有关 SQL Server 中程序集的更多信息,请参阅 程序集(数据库引擎)。
使用 CREATE AGGREGATE 语句创建引用已注册程序集的用户定义聚合函数。
在 SQL Server 中,执行 CLR 代码会默认处于关闭状态。 可以创建、更改和删除引用托管代码模块的数据库对象,但是除非通过使用 sp_configure (Transact-SQL) 启用了 clr enabled 选项,否则将不会在 SQL Server 中执行这些引用。
在 Microsoft Visual Studio 中部署 SQL Server 项目将在为该项目指定的数据库中注册程序集。 部署项目时,还会在数据库中为使用 SqlFunction 属性注释的所有方法创建 CLR 函数。 有关详细信息,请参阅 Deploying CLR Database Objects。