利用 Common Language Runtime (CLR) 整合建立資料庫物件
您可以搭配 .NET Framework Common Language Runtime (CLR) 使用 SQL Server 整合來建立資料庫物件。在 Microsoft SQL Server 內部執行的 Managed 程式碼稱為「CLR 常式」。這些常式包括:
純量值的使用者定義函數 (純量 UDF)
資料表值使用者定義函數 (TVF)
使用者定義程序 (UDP)
使用者定義觸發程序
CLR 常式在 Managed 程式碼中包含三個相同的結構。這三個結構會對應到類別的 public、static (在 Microsoft Visual Basic .NET 中則為 shared) 方法。除了常式之外,使用者定義型別 (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 之前的伺服器版本上執行時,如果使用者定義函數包含 LOB 參數或傳回值,也必須以序列計畫執行。如需詳細資訊,請參閱<平行查詢處理>。
請注意,Visual Studio .NET 2003 無法用於 CLR 整合程式設計。SQL Server 包含預先安裝的 .NET Framework,而 Visual Studio .NET 2003 無法使用 .NET Framework 2.0 組件。
下表列出本節中所涵蓋的主題。
CLR 整合使用者入門
提供搭配 SQL Server 使用 CLR 整合編譯物件所需之程式庫與命名空間的簡短概觀。包含範例 "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 觸發程序。