sql >> Database teknologi >  >> RDS >> Sqlserver

Skift en CTE SELECT til en tabelværdi brugerdefineret funktion

Fjern den første ; og order by klausul.

Alter FUNCTION GetDescendentSteps 
(   
@StepId INT 
)
RETURNS TABLE 
AS
RETURN
    WITH cteRecursion
         AS (SELECT
                 StepId
                 ,1 AS Level
             FROM
                 Step
             WHERE
                 StepId = @StepId
             UNION ALL
             SELECT
                 t.StepId
                 ,c.Level + 1
             FROM
                 Step t
                 INNER JOIN cteRecursion c
                     ON t.ParentStepId = c.StepId
            )
    SELECT
        StepId,Level
    FROM
        cteRecursion



  1. Sporing af databaseændringer ved hjælp af arbejdsmappekildekontrol

  2. Udtræk ugedag, millisekund, mikrosekund, nanosekund fra en dato i Postgres

  3. Hvordan sporer man ændringer i flere kolonner i databasetabellen til revisionsformål?

  4. ODBC-forespørgsel på MS SQL Server returnerer kun de første 255 tegn i PHP PDO (FreeTDS)