通常,在使用递归cte的select语句的末尾。
但是,在视图内将行不通。快速搜索将我带到了这篇文章-解释了正确的方法。
原来,您不能在视图内部使用查询提示,但是可以并且应该在调用视图的查询中使用它。
样表:
CREATE TABLE T( id int, parent int)INSERT INTO T VALUES (1, NULL), (2, 1), (3, 1), (4, 2), (5, 2), (6, 3), (7, 4), (8, 5);GO
创建视图:
CREATE VIEW VASWITH CTE AS( SELECT id, parent FROM T WHERe parent IS NULL UNIOn ALL SELECt t.id, t.parent FROM T INNER JOIN CTE ON t.parent = cte.id)SELECt *FROM CTEGO
执行视图:
SELECt *FROM VOPTION (MAXRECURSION 2);



