你的位置:首页 > 数据库

[数据库]SQL入门经典(九)之自定义函数


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 intAS BEGIN  return datediff(month,@startDate,@endDate);ENDGOselect ProductID,sum(LineTotal) from Purchasing.PurchaseOrderDetail where dbo.fun_GetDateDIff(DueDate,getdate())=142 /**/ group by ProductID --查询前的142的数据

View Code

修改UDF:直接把CREATE 改为ALTER就可以了。UDF基本和存储过程差不多的。

这一章比较简单。不会写太多,下一篇讲事务和锁。感觉后面写的越来越吃力了。有点写不下的冲动了。