sqlserver 多语句表值函数例子

Posted 雯烈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 多语句表值函数例子相关的知识,希望对你有一定的参考价值。

多语句表值函数顾名思义是返回了一张表,可以传入多个参数

 

 

1.定义

 1 Use AdventureWorks2014;
 2 go
 3 if exists(select * from sys.objects where name=\'udf_SEL_SalesQuota\')
 4 drop function dbo.udf_SEL_SalesQuota;
 5 go
 6 CREATE FUNCTION dbo.udf_SEL_SalesQuota ( @BusinessEntityID int, @ShowHistory bit )
 7 RETURNS @SalesQuota TABLE 
 8     (
 9         BusinessEntityID int, 
10         QuotaDate datetime, 
11         SalesQuota money
12     )
13 as
14 begin
15     INSERT Into @SalesQuota(BusinessEntityID, QuotaDate, SalesQuota)
16     SELECT BusinessEntityID, ModifiedDate, SalesQuota
17     FROM Sales.SalesPerson
18     WHERE BusinessEntityID = @BusinessEntityID;
19 
20     IF @ShowHistory = 1
21          begin
22             INSERT Into @SalesQuota(BusinessEntityID, QuotaDate, SalesQuota)
23             SELECT BusinessEntityID, QuotaDate, SalesQuota
24             FROM Sales.SalesPersonQuotaHistory
25             WHERE BusinessEntityID = @BusinessEntityID;
26          end
27 
28     return
29 
30 end

2.调用

1 Use AdventureWorks2014;
2 GO
3 SELECT BusinessEntityID, QuotaDate, SalesQuota      
4 FROM dbo.udf_SEL_SalesQuota (275,0);

 

以上是关于sqlserver 多语句表值函数例子的主要内容,如果未能解决你的问题,请参考以下文章

多语句表值函数与内联表值函数

sqlserver2005 表值函数

sql2005中 表值函数是啥

Sqlserver中存储过程,触发器,自定义函数

SQL表值函数中可以使用IF 吗?

sqlserver中的表值函数和标量值函数