Can T-SQL function return user-defined table type?

abatishchev picture abatishchev · Mar 23, 2010 · Viewed 14.8k times · Source

I have my own type:

CREATE TYPE MyType AS TABLE
(
    foo INT
)

and a function receiving it as a parameter:

CREATE FUNCTION Test
(
    @in MyType READONLY
)
RETURNS @return MyType
AS
...

can it return MyType or only TABLE repeating MyType's structure:

CREATE FUNCTION Test
(
    @in MyType READONLY
)
RETURNS @return TABLE (foo INT)
AS
...

?

Answer

marc_s picture marc_s · Mar 23, 2010

As far as I understand Microsoft's MSDN article here, those user-defined table types are only available as read-only parameters to stored procedures or stored functions.

It doesn't mention anything that they could be used to be returned from a user-defined function, unfortunately - so I guess you're right - it's not possible (at least not now).