Även om du inte kan returnera UDTT från en funktion, kan du returnera en tabellvariabel och ta emot den i en UDTT så länge som schemat matchar . Följande kod testas i SQL Server 2008 R2
-- Skapa UDTT
CREATE TYPE dbo.MyCustomUDDT AS TABLE
(
FieldOne varchar (512),
FieldTwo varchar(1024)
)
-- Deklarera dina variabler
DECLARE @uddt MyCustomUDDT;
DECLARE @Modifieduddt MyCustomUDDT;
// Anropa funktionen
INSERT INTO @Modifieduddt SELECT * FROM dbo.MyUDF(@uddt);
Funktionssignatur
CREATE FUNCTION dbo.MyUDF(@localUDDT MyCustomUDDT)
RETURNS @tableVar TABLE
(
FieldOne varchar (512),
FieldTwo varchar(1024)
)
AS
BEGIN
--Modify your variable here
RETURN
END
Förhoppningsvis kommer detta att hjälpa någon.