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;