一.FUNCTION:
在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点:
同点:
1.创建定义是一样的: a, CREATE FUNCTION F_NAME(传入的参数名称 传入参数的类型) b,RETURNS 返回值类型 c,AS 异点:1.标量函数返回的是一个数据类型值,内联表值函数返回的是一个table,而多语句返回的是一个table的变量(类似前面两个的结合);
2.语法的结构:标量函数和多语句函数都是要有begin,,,end,内联表值函数就没有;
3.调用:标量函数要写成在dbo,function_name;
标量函数,利用上篇文章写的数据表,在[T_员工信息]表中查姓名为李异峰员工的工号:
USE SQL_SYSTEM GO CREATE FUNCTION F_GONGHAO(@XINGMING NVARCHAR(5)) RETURNS INT AS BEGIN DECLARE @GONGHAO INT SET @GONGHAO =(SELECT Y.工号 FROM[T_员工信息] AS Y WHERE Y.姓名 =@XINGMING ) RETURN @GONGHAO END GO /*上面是标量函数的一个简单的例举,下面就开始调用,注意是在dbo.下*/ SELECT [姓名] FROM[T_员工信息] WHERE [姓名]='李异峰' /**对比的查询*/ /*请注意观察,和对比*/ SELECT [姓名],DBO.F_GONGHAO ('李异峰')AS 工号 FROM[T_员工信息] WHERE [姓名]='李异峰' GO
查看更多关于Sqlserver自定义函数Function使用介绍的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did32512