我了解当Oracle中可能出现循环的情况。理论上说,如果一条记录既是另一个节点的父节点,同时也是它的子节点,则它可能会进入循环。
但是我无法理解为什么我的这个特定查询会陷入循环。
SELECT Empno, Ename, Job
FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR
Job='PRESIDENT'
请有人能解释一下这些数据是如何导致循环的吗?我做了一个CONNECT_BY_ISCYCLE检查,并发现记录循环为KING(President)。但我仍然不明白它如何可能,因为KING是总裁,我没有看到它成为表中任何记录的子元素和父元素的方式。
请解释一下,为什么这是一个错误,循环在哪里?
预先感谢。
顺便说一下,该表是Oracle中SCOTT用户中默认的EMP表。