Как установить опцию MaxRecursion для CTE внутри таблицы-функции

Я сталкиваюсь с проблемой, объявляя опцию MaxRecursion для CTE внутри TVF.

Вот CTE (простой календарь):

DECLARE @DEBUT DATE = '1/1/11',   @FIN DATE = '1/10/11';

WITH CTE as(       
SELECT @debut as jour       
UNION ALL       
SELECT DATEADD(day, 1, jour)       
FROM   CTE      
WHERE  DATEADD(day, 1, jour) <= @fin)
SELECT jour FROM CTE option (maxrecursion 365)

и TVF:

 CREATE FUNCTION [liste_jour]  
 (@debut date,@fin date)
 RETURNS TABLE
 AS     
 RETURN      
 (  
  WITH CTE as(       
  SELECT @debut as jour       
  UNION  ALL       
  SELECT DATEADD(day, 1, jour)       
  FROM   CTE      
  WHERE  DATEADD(day, 1, jour) <= @fin)
  SELECT jour FROM CTE
  --option (maxrecursion 365)
 )

Вышеуказанное TVF работает нормально без опции MaxRecursion Но есть ошибка синтаксиса с опцией. Что такое решение?

37
задан Boann 24 July 2019 в 16:23
поделиться