你给我写的那个存储过程递归CTE,最后的option (MAXRECURSION 4000)是什么意思?是不是说递归4000次?

2024-11-04 03:40:51
推荐回答(2个)
回答1:

最大允许递归的次数。
默认最大CTE递归只有100次,而你要求插入10年的数据,需要递归3000多次,所以要使用option (MAXRECURSION 4000)

回答2:

正确

MAXRECURSION number
指定这项查询所能拥有的最大递回数目。number 是 0 和 32767 之间的非负整数。当指定 0 时,不会套用任何限制。如果未指定这个选项,伺服器的预设限制是 100。

在查询执行期间,当到达 MAXRECURSION 限制的指定或预设数目时,查询会结束,且会传回错误。

陈述式的所有效果都会因这个错误而回复。如果陈述式是 SELECT 陈述式,可能会传回部份结果,或根本不传回任何结果。任何传回的部份结果都不会包括超出指定的最大递回层级之递回层级的所有资料列。