Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2008 - Como faço para retornar um tipo de tabela definido pelo usuário de uma função com valor de tabela?


Mesmo que você não possa retornar o UDTT de uma função, você pode retornar uma variável de tabela e recebê-la em um UDTT desde que o esquema corresponda . O código a seguir é testado no SQL Server 2008 R2

-- Criar o UDTT
CREATE TYPE dbo.MyCustomUDDT AS TABLE
(
    FieldOne varchar (512),
    FieldTwo varchar(1024)
)

-- Declare suas variáveis
DECLARE @uddt MyCustomUDDT;
DECLARE @Modifieduddt MyCustomUDDT;

//Chama a função
INSERT INTO @Modifieduddt SELECT * FROM dbo.MyUDF(@uddt);

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

Espero que isso ajude alguém.