Ejemplo: generar números del 1 al 10

WITH nums AS (
  SELECT 1 AS n
  UNION ALL
  SELECT n + 1
  FROM nums
  WHERE n < 10
)
SELECT n FROM nums
OPTION (MAXRECURSION 100);

En SQL Server se recomienda MAXRECURSION para controlar profundidad.