使用公共语言运行时 (CLR) 集成生成数据库对象
适用范围:SQL Server
可以使用 SQL Server 与 .NET Framework 公共语言运行时(CLR)集成来生成数据库对象。 在 SQL Server 中运行的托管代码称为 CLR 例程。 这些例程包括:
- 标量值用户定义函数(标量 UDF)
- 表值用户定义函数 (TVF)
- 用户定义的过程 (UDP)
- 用户定义的触发器
CLR 例程在托管代码中具有相同的结构。 它们映射到类的公共静态(在 Visual Basic .NET 中共享)方法。 除了例程之外,还可以使用 .NET Framework 定义用户定义类型 (UDT) 和用户定义的聚合函数。 将 UDT 和用户定义聚合映射为整个 .NET Framework 类。
每种 .NET Framework 例程都有 Transact-SQL 声明,可在 SQL Server 中使用 Transact-SQL 等效项的任何位置。 例如,标量 UDF 可以用于任意标量表达式中。 TVF 可用于任何 FROM
子句。 可以在 EXEC
语句中调用过程,也可以从客户端应用程序调用。
如果查询优化器确定它是有益的,则公共语言运行时上的 CLR 对象(用户定义的函数、用户定义的类型或触发器)的执行可能会发生在多个线程(并行计划) 上。 但是,如果用户定义函数访问数据,则执行在串行计划中。
下表列出了本节中介绍的文章。
品 | 描述 |
---|---|
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 触发器。 |