CONNECT_BY_ISCYCLE伪列

说明:

用于返回当前记录是否使层次查询形成环

语法:

connect_by_iscycle ::=

注释:

有CONNECT_BY_ISCYCLE必须有CONNECT BY分支,而且必须有NOCYCLE参数,这个伪列主要用于查找数据错误,如果一行的CONNECT_BY_ISCYCLE为真,表示该行使的层次查询形成环,很可能是该行数据有错误。我们会在这个地方将形成的环全部打开,而查询继续,如果不是数据错误,则用NOCYCLE参数可以去掉环,有效达到层次查询环数据的目标。

CONNECT_BY_ISCYCLE只是一个伪列,没有任何参数,这个伪列和数据表中存在的一列完全相同,可以在目标列、ORDER BY子句、聚集函数、GROUP BY子句、HAVING子句和WHERE子句中使用。

示例:

使用CONNECT_BY_ISCYCLE的实例

查询语句如下:

SELECT employee_id, last_name, manager_id, CONNECT_BY_ISCYCLE from EMPLOYEES CONNECT BY NOCYCLE PRIOR employee_id = manager_id;