Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zmień CTE SELECT na funkcję wartości tabeli zdefiniowanej przez użytkownika

Usuń pierwszy ; i order by klauzula.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie SQL Server wybierz 1 z każdej podgrupy

  2. Wprowadzanie ofiary impasu

  3. SSMS 2008 konwertuje znaki kontrolne na spacje podczas korzystania z funkcji „Wyniki na siatkę”

  4. Podział ciągu T-SQL

  5. Wywołanie procedury składowanej za pomocą VBA