TVF和用户定义的表类型

时间:2011-07-26 13:45:35

标签: user-defined-functions user-defined-types

在SQL Server 2005中我有

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进行更改。

我在第二个例子中遗漏了什么?

1 个答案:

答案 0 :(得分:0)

你可以做

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

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