SQL Server自定义函数(Table-valued Functions)

本文介绍了两种表值用户自定义函数(UDF)的创建方法。第一种直接插入固定值到返回表中,第二种通过连接多个表来生成动态结果集。

自定义函数(User-Defined Function)有两种,一种是标量UDF(Scalar-valued Functions)和表值UDF(Table-valued Functions),前者只返回单个数据值,而后者则返回一个表。前面演示了标量自定义函数,http://www.cnblogs.com/insus/articles/1918983.html  ,现在下面两个实例均演示表值自定义函数,

代码
SET  ANSI_NULLS  ON
GO
SET  QUOTED_IDENTIFIER  ON
GO
CREATE   FUNCTION   [ dbo ] . [ udf_SuperUser ]
(
)
RETURNS   @SuperUser   TABLE ( [ Account ]   nvarchar ( 30 ), [ Password ]   nvarchar ( 30 ))
AS
BEGIN
    
INSERT  SuperUser ( [ Account ] , [ Password ] VALUES ( ' Admin ' , ' mypassword@2010 ' );
    
RETURN
END

  

另一个例子,

代码
SET  ANSI_NULLS  ON
GO
SET  QUOTED_IDENTIFIER  ON
GO
CREATE   FUNCTION   [ dbo ] . [ udf_Supervisor ]
(
)
RETURNS   TABLE  
AS
RETURN  
(
    
SELECT   [ SupervisorId ] ,e. [ WorkNumber ] , [ EmployeeName ] ,w. [ WorkGroupId ] , [ WorkGroupName ] ,s. [ IsActive ]  
    
FROM   [ Supervisor ]  s 
    
LEFT   JOIN   [ Employee ]  e  ON  (s. [ WorkNumber ] = e. [ WorkNumber ] )
    
LEFT   JOIN   [ WorkGroup ]  w  ON  (s. [ WorkGroupId ]   =  w. [ WorkGroupId ] )
)

 

 

转载于:https://www.cnblogs.com/insus/archive/2010/12/28/1918989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值