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 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基本和存储过程差不多的。

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

posted @ 2016-06-26 10:46  我是你的小傻瓜  阅读(647)  评论(0编辑  收藏  举报