Въпреки че не можете да върнете UDTT от функция, можете да върнете променлива на таблица и да я получите в UDTT стига схемата да съвпада . Следният код е тестван в SQL Server 2008 R2
-- Създайте UDTT
CREATE TYPE dbo.MyCustomUDDT AS TABLE
(
FieldOne varchar (512),
FieldTwo varchar(1024)
)
-- Декларирайте вашите променливи
DECLARE @uddt MyCustomUDDT;
DECLARE @Modifieduddt MyCustomUDDT;
// Извикване на функцията
INSERT INTO @Modifieduddt SELECT * FROM dbo.MyUDF(@uddt);
Подпис на функция
CREATE FUNCTION dbo.MyUDF(@localUDDT MyCustomUDDT)
RETURNS @tableVar TABLE
(
FieldOne varchar (512),
FieldTwo varchar(1024)
)
AS
BEGIN
--Modify your variable here
RETURN
END
Надяваме се това да помогне на някой.