我有CTE查询,上面有大量记录.以前它工作得很好.但最近,它给一些成员抛出了错误
声明终止.在语句完成之前,最大递归100已用尽.
所以我把OPTION (maxrecursion 0)或者OPTION (maxrecursion 32767)放在我的查询上,因为我不想限制记录.但是,结果是查询需要永远加载.我该如何解决这个问题?
这是我的代码:
with cte as(
-- Anchor member definition
SELECT e.SponsorMemberID , e.MemberID, 1 AS Level
FROM tblMember AS e
where e.memberid = @MemberID
union all
-- Recursive member definition
select child.SponsorMemberID , child.MemberID, Level + 1
from tblMember child
join cte parent
on parent.MemberID = child.SponsorMemberID
)
-- Select the CTE result
Select distinct a.*
from cte a
option (maxrecursion 0)
Run Code Online (Sandbox Code Playgroud)
编辑:删除不必要的代码,以便于理解
已解决:所以问题不是来自maxrecursion.它来自CTE.我不知道为什么,但可能它包含任何赞助商周期:A - > …