Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 - Comment renvoyer un type de table défini par l'utilisateur à partir d'une fonction table ?

Même si vous ne pouvez pas renvoyer l'UDTT à partir d'une fonction, vous pouvez renvoyer une variable de table et la recevoir dans un UDTT tant que le schéma correspond . Le code suivant est testé dans SQL Server 2008 R2

-- Créer l'UDTT

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

-- Déclarez vos variables

DECLARE @uddt MyCustomUDDT;
DECLARE @Modifieduddt MyCustomUDDT;

// Appel de la fonction

INSERT INTO @Modifieduddt SELECT * FROM dbo.MyUDF(@uddt);

Signature de la fonction

CREATE FUNCTION dbo.MyUDF(@localUDDT MyCustomUDDT)
RETURNS @tableVar TABLE
(
    FieldOne varchar (512),
    FieldTwo varchar(1024)
)
AS
BEGIN
 --Modify your variable here
RETURN
END

J'espère que cela aidera quelqu'un.