使用公共语言运行时 (CLR) 集成生成数据库对象
可以使用 Microsoft SQL Server称为“CLR 例程”来生成数据库对象。这些例程包括:
标量值用户定义函数(标量 UDF)
表值用户定义函数 (TVF)
用户定义的过程 (UDP)
用户定义的触发器
CLR 例程在托管代码中具有相同的结构。 它们映射到 Microsoft Visual Basic .NET) 类方法中共享的公共静态 (。 除了例程之外,还可以使用 .NET Framework 定义用户定义类型 (UDT) 和用户定义的聚合函数。 将 UDT 和用户定义聚合映射为整个 .NET Framework 类。
每种类型的.NET Framework例程都有一个可以使用 Transact-SQL 等效项的SQL Server。 例如,标量 UDF 可以用于任意标量表达式中。 TVF 可以用于任意 FROM 子句中。 可以在 EXEC 语句中调用过程或从客户端应用程序调用。
注意
如果查询优化器确定这样做有益处,则在公共语言运行时上执行 CLR 对象(用户定义函数、用户定义类型或触发器)可能在多个线程上发生(并行计划)。 但是,如果用户定义的函数访问数据,则将在串行计划中执行。 在 SQL Server 2008 之前的服务器版本上执行时,如果用户定义函数包含 LOB 参数或返回值,则执行也必须在串行计划中。
下表列出了本节涵盖的主题。
CLR 集成入门
简要概述了使用 CLR 与 SQL Server 集成编译对象所需的库和命名空间。 提供一个“Hello World”CLR 存储过程示例。
支持的 .NET Framework 库
提供有关 CLR 集成支持的 .NET Framework 库的信息。
CLR 集成编程模型限制
提供有关 CLR 集成编程模型限制的信息。
.NET Framework 中的 SQL Server 数据类型
概述SQL Server数据类型及其.NET Framework等效项。
CLR 集成自定义属性的概览
提供有关 CLR 集成自定义属性的信息。
CLR 用户定义函数
说明如何实现和使用各种类型的 CLR 函数:表值、标量和用户定义的聚合函数。
CLR 用户定义类型
说明如何实现和使用 CLR 用户定义类型。
CLR 存储过程
说明如何实现和使用 CLR 存储过程。
CLR 触发器
说明如何实现和使用 CLR 触发器。