2011-07-26 66 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查詢