我了解 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 表。
添加表达式 nocycleconnect by nocycle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)