什么是SQL Server擴(kuò)展函數(shù)呢?它實(shí)際上就是把C#或VB.NET的代碼拿到SQL Server上去執(zhí)行。反過(guò)來(lái)思考,那就是當(dāng)你想對(duì)表數(shù)據(jù)進(jìn)行比較復(fù)雜的邏輯處理時(shí),寫(xiě)SQL又太麻煩,那么你就可以是否可以通過(guò)SQLCLR來(lái)解決這個(gè)問(wèn)題了。下面是我摘自wikipedia對(duì)SQLCLR的解釋。
SQL CLR (SQL Common Language Runtime) 是自 SQL Server 2005 才出現(xiàn)的新功能,它將.NET Framework中的CLR服務(wù)注入到 SQL Server 中,讓 SQL Server 的部份數(shù)據(jù)庫(kù)對(duì)象可以使用 .NET Framework 的編程語(yǔ)言開(kāi)發(fā)(目前只支持VB.NET和C#),包括預(yù)存程序、用戶(hù)自定義函數(shù)、觸發(fā)程序、用戶(hù)自定義型別以及用戶(hù)自定義匯總函數(shù)等功能。
幾個(gè)定義
Stored Procedures (SP:存儲(chǔ)過(guò)程)
User Defined Function ( UDF:用戶(hù)自定義函數(shù))
User Definied Types (UDT:用戶(hù)定義類(lèi)型)
User Definied Aggregate(UDA:聚合函數(shù))
Triggers(觸發(fā)器)
(圖1:SQLCLR的架構(gòu)圖)
(圖2:SQLCLR的開(kāi)發(fā)流程圖)
(圖3:SQLCLR的調(diào)試)