笔记334 SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 设置CTE递归循环的次数防止死循环 2013-7-25
笔记334 SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 设置CTE递归循环的次数防止死循环 2013-7-25
1 --SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 设置CTE递归循环的次数防止死循环 2013-7-25 2 3 --拓狼_王成辉(34665702) 2013/7/25 12:03:03 4 --递归CTE如何避免死循环,比如A的子是B,B的子又是A 5 --李主明(1411739743) 2013/7/25 12:03:50 6 --好像很难 7 --OPTION( MAXRECURSION 128) 8 --拓狼_王成辉(34665702) 2013/7/25 12:04:18 9 --这个只是设定最大递归次数 10 -- 11 --如果递归 CTE 组合不正确,可能会导致无限循环。 12 -- 例如,如果递归成员查询定义对父列和子列返回相同的值,则会造成无限循环。 13 -- 可以使用 MAXRECURSION 提示以及在 INSERT、UPDATE、DELETE 或 SELECT 语句的 OPTION 子句中的一个 0 到 32,767 之间的值, 14 -- 来限制特定语句所允许的递归级数,以防止出现无限循环。 15 -- 这样就能够在解决产生循环的代码问题之前控制语句的执行。 16 -- 服务器范围的默认值为 100。 如果指定 0,则没有限制。 17 -- 每一个语句只能指定一个 MAXRECURSION 值。 查询提示 (Transact-SQL)。 18 19 USE [pratice] 20 GO 21 SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128)