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

適用於:SQL Server

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

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

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

  • 使用者定義程序 (UDP)

  • 使用者定義觸發程序

CLR 常式在 Managed 程式碼中包含三個相同的結構。 它們會對應至類別的 Microsoft Visual Basic .NET) 方法中共用的公用靜態 (。 除了常式之外,使用者定義型別 (UDT) 和使用者定義彙總函式也可以使用 .NET Framework 來定義。 UDT 和使用者定義彙總都會對應到整個 .NET Framework 類別。

每個類型的.NET Framework常式都有 Transact-SQL 宣告,而且可以在 transact-SQL 對等專案SQL Server的任何位置使用。 例如,純量 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) 整合概觀