2011-07-26 63 views
0

在SQL Server 2005中我有TVFs和用户定义的表类型

create type MyTableType as table 
(MyField1 int, 
MyField2 varchar(80) 

) 

显然,我可以这样做:

create function MyFunc_A(...) 
returns table(MyField1 int, MyField2 varchar(80), ...) 
as begin 

但不是这样的:

create function MyFunc_A(...) 
returns @result MyTableType 
as begin 

问题是,我需要数十个必须可重用的MyFunc。 MyTableType几乎肯定会改变。我不想去每个udf并做出改变。

我在第二个例子中错过了什么吗?

回答

0

你可以做

create funciton foo (...) 
returns table 
as 
return 
select 
... 

但在这种情况下,你的函数不能包含任何额外的逻辑。只有SELECT查询