- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以解释一下在oracle中的分层查询中nocycle和connect by root子句的使用吗,还有当我们不使用“开始于”时我们获取行的顺序是什么,我的意思是当我们不使用“开始于”时我们得到很多行,任何人都可以解释 nocycle 并使用简单的 emp 表通过 root 连接(与开始有何不同?),感谢您的帮助
最佳答案
如果您的数据中有循环(A -> B -> A -> B ...),Oracle 将抛出异常,ORA-01436:用户数据中的 CONNECT BY 循环
如果您进行分层查询。 NOCYCLE
指示 Oracle 返回行,即使存在这样的循环。
CONNECT_BY_ROOT
使您可以访问根元素,甚至可以访问查询中的几层。使用 HR 模式:
select level, employee_id, last_name, manager_id ,
connect_by_root employee_id as root_id
from employees
connect by prior employee_id = manager_id
start with employee_id = 100
LEVEL EMPLOYEE_ID LAST_NAME MANAGER_ID ROOT_ID
---------- ----------- ------------------------- ---------- ----------
1 100 King 100
2 101 Kochhar 100 100
3 108 Greenberg 101 100
4 109 Faviet 108 100
...
在这里,您会看到我从员工 100 开始,开始查找他的员工。 CONNECT_BY_ROOT
运算符使我能够访问 King 的 employee_id,甚至可以访问下四层。起初我对这个运算符感到非常困惑,认为它意味着“通过根元素连接”之类的东西。可以将其想象为“CONNECT BY 子句的根”。
关于oracle分层查询nocycle并按root连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9448694/
我有一个带有 NOCYCLE 子句的 Oracle 查询,我必须将其转换为 Postgres: SELECT FG_ID,CONNECT_BY_ROOT FG_ID as Parent_ID FRO
考虑以下有向图: 我希望能够在此图中选择两个节点,然后找到这两个节点之间的所有可能路径。 (好吧,不是所有的路径,只是那些不包含循环的路径。) 首先,我在 View 中对图建模(作为传递闭包) CRE
我正在用 Python 中的 OR-Tools 实现 Knight Tour 问题,但我正在努力解决无循环约束。在 C++ 中,存在 MakeNoCycle 全局约束,我假设在 Python 包装器中
问题: 我有以下(定向)图: 和这张 table : CREATE TABLE [dbo].[T_Hops]( [UID] [uniqueidentifier] NULL, [From
有谁知道当循环发生在顶部节点(根节点连接到根节点)时,为什么 Oracle 继续遵循循环之外的路径?更重要的是,如何预防? 我有 Oracle 11g 第 2 版 (11.2),我一直在探索分层查询。
我是一名优秀的程序员,十分优秀!