我可以在Sql Server 2005 View中使用递归吗?

我试图在视图中使用OPTION(MAXRECURSION 0)来生成日期列表.

这似乎是不受支持的.这个问题有解决方法吗?

编辑解释我实际想做的事情:

我有2张桌子.

table1:int weekday,bool available

table2:datetime date,bool available

我想要结果:
view1:date(这里是今年的所有日子),可用(来自table2或table2,而不是table2).

这意味着我必须在工作日的日期申请加入.
我希望这个解释是可以理解的,因为我实际上在查询中使用了更多字段和更多字段.

我发现这段代码生成递归:

WITH Dates AS
(
    SELECT cast('2008-01-01' as datetime) Date
    UNION ALL
    SELECT Date + 1
    FROM    Dates   
    WHERE   Date + 1 < DATEADD(yy, 1, GETDATE())
)

最佳答案
No – 如果你能找到一种在100级回归中有办法(有一个数字表),这将使你在100个递归水平,你将能够做到这一点.但是如果你有一个数字或数据透视表,你无论如何都不需要递归…

this question(但我会创建一个表而不是表值函数),this questionthis linkthis link

点赞