В настоящее время представляется невозможным вернуть UDTT из UDF. UDF может вернуть таблицу переменную или встроенную таблицу .
Возвращение встроенной таблицы:
CREATE FUNCTION dbo.MyFunc1
RETURNS TABLE
AS RETURN
SELECT <columns>
FROM <table>
WHERE <conditions>
Возвращение табличной переменной:
CREATE FUNCTION dbo.MyFunc2
RETURNS @Tbl TABLE
(
ID int,
Name varchar(50)
)
AS BEGIN
INSERT @Tbl (ID, Name)
SELECT ID, Name
FROM <table>
WHERE <conditions>
RETURN
END
Это единственные типы TVF на данный момент.