Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 - Wie gebe ich einen benutzerdefinierten Tabellentyp aus einer Tabellenwertfunktion zurück?

Auch wenn Sie den UDTT nicht von einer Funktion zurückgeben können, können Sie eine Tabellenvariable zurückgeben und sie in einem UDTT erhalten, solange das Schema übereinstimmt . Der folgende Code wurde in SQL Server 2008 R2 getestet

-- UDTT erstellen

CREATE TYPE dbo.MyCustomUDDT AS TABLE
(
    FieldOne varchar (512),
    FieldTwo varchar(1024)
)

-- Deklarieren Sie Ihre Variablen

DECLARE @uddt MyCustomUDDT;
DECLARE @Modifieduddt MyCustomUDDT;

// Funktion aufrufen

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

Hoffentlich hilft das jemandem.