Share via


利用 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 組件。

下表列出本節中所涵蓋的主題。