sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2008 - Hur returnerar jag en användardefinierad tabelltyp från en tabellvärderad funktion?

Ä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.



  1. PG::Fel:SELECT DISTINCT, ORDER BY-uttryck måste visas i urvalslistan

  2. Installera Microsoft SQL Server 2012 Enterprise Edition med Service Pack 1

  3. Hur hittar man gränserna för grupper av sammanhängande sekventiella tal?

  4. Vad används '$$' för i PL/pgSQL