Oracle:用户数据中按循环连接

标签 oracle hierarchy hierarchical-data

我了解 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表。

最佳答案

添加表达式nocycle 通过nocycle连接

关于Oracle:用户数据中按循环连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26464590/

相关文章:

sql - Oracle WITH 子句限制

java - IntelliJ IDEA 过滤器层次结构子类型

sql-server - T-SQL COALESCE GROUPING 将 SETS 组合成没有 NULL 重复项的单列

sql - Oracle SQL 获取括号中的最后一个字符串(也可能包含括号)

sql - 多连接查询返回很多结果且匹配不当

sql - Oracle SQL : Re-use subquery for CASE WHEN without having to repeat subquery

java - JPA:如何设置具有多个子实体和多个具有相同实体类型的父实体的实体?

sql-server - SQL Server 查询以展平记录的层次结构

sql - 分层查询

mysql - 如何创建MySQL分层递归查询