共用方式為


利用 Common Language Runtime (CLR) 整合組建資料庫物件

適用於:SQL Server

您可以使用 SQL Server 與 .NET Framework Common Language Runtime (CLR) 整合來建置資料庫物件。 在 Microsoft SQL Server 內部執行的 Managed 程式代碼稱為「CLR 例程」。這些例程包括:

  • 純量值使用者定義函式 (純量 UDF)

  • 資料表值使用者定義函式 (TVF)

  • 使用者定義程式 (UDP)

  • 使用者定義的觸發程式

CLR 例程在Managed程式碼中具有相同的結構。 它們會對應至類別的公用、靜態 (在 Microsoft Visual Basic .NET 中共用) 方法。 除了例程之外,也可以使用 .NET Framework 定義使用者定義型別 (UDT) 和使用者定義聚合函數。 UDT 和使用者定義匯總會對應至整個 .NET Framework 類別。

每種類型的 .NET Framework 例程都有 Transact-SQL 宣告,而且可以在 SQL Server 中使用 Transact-SQL 對等專案的任何位置。 例如,純量 UDF 可用於任何純量運算式。 TVF 可用於任何FROM子句。 您可以在 EXEC 語句中叫用程式,或從用戶端應用程式叫用程式。

注意

在 Common Language Runtime 上執行 CLR 物件(使用者定義函數、使用者定義型別或觸發程式),如果查詢優化器決定它是有益的,可以在多個線程上執行(平行計劃)。 不過,如果使用者定義函數存取數據,則執行將會在序列計劃上。 在 SQL Server 2008 (10.0.x) 之前的伺服器版本上執行時,如果使用者定義函數包含 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 觸發程序。

另請參閱

Common Language Runtime (CLR) 整合概觀