Elimina el primer ;
y el order by
cláusula.
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