UDF和存儲過程很類似,用戶自定義函數是一組有序的T-SQL語句,這些語句被預先優化和編譯,並且可以作為一個單元來測試調用。UDF和存儲過程的主要區別在於結果返回方式,為了能支持更多返回值,UDF比存儲過程有跟多限制。 UDF基本語法:CREATE FUNCTION <function name> ...
UDF和存儲過程很類似,用戶自定義函數是一組有序的T-SQL語句,這些語句被預先優化和編譯,並且可以作為一個單元來測試調用。UDF和存儲過程的主要區別在於結果返回方式,為了能支持更多返回值,UDF比存儲過程有跟多限制。
UDF基本語法:CREATE FUNCTION <function name> (<@parameter name> <data type>[default value][......n)
RETURNS <返回類型>
AS begin /*代碼*/ end
試一試最簡單是UDF:
CREATE FUNCTION fun_GetDateDIff(@startDate datetime,@endDate datetime) returns int AS BEGIN return datediff(month,@startDate,@endDate); END GO select ProductID,sum(LineTotal) from Purchasing.PurchaseOrderDetail where dbo.fun_GetDateDIff(DueDate,getdate())=142 /**/ group by ProductID --查詢前的142的數據View Code
修改UDF:直接把CREATE 改為ALTER就可以了。UDF基本和存儲過程差不多的。
這一章比較簡單。不會寫太多,下一篇講事務和鎖。感覺後面寫的越來越吃力了。有點寫不下的衝動了。