Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 公用表表达式 » 递归公用表表达式

 

递归公用表表达式的限制

以下限制适用于递归公用表表达式。

  • 递归公用表表达式的定义中不能出现对其它递归公用表表达式的引用。因此,递归公用表表达式不能相互递归。但是,非递归公用表表达式可以包含对递归公用表表达式的引用,递归公用表表达式可以包含对非递归公用表表达式的引用。

  • 允许在初始子查询和递归子查询之间使用的唯一集合运算符是 UNION ALL。禁止使用其它集合运算符。

  • 在递归子查询的定义中,对递归表表达式的自我引用只能出现在递归子查询的 FROM 子句中。

  • 当自我引用出现在递归子查询的 FROM 子句中时,对递归表的引用不能出现在外连接的空值提供方。

  • 递归子查询不能包含 DISTINCT、GROUP BY 或 ORDER BY 子句。

  • 递归子查询不能使用任何集合函数。

  • 为了防止递归查询失控,如果递归级别数超过 max_recursive_iterations 选项的当前设置,则会生成错误。此选项的缺省值是 100。