1.当分层查询存在上下层互为父子节点时,会返回ORA-01436错误,此时,需要在connect by后面加上nocycle关键字。
同时,可用connecct_by_iscycle伪列定位出存在互为父子循环的具体节点。
connect_by_iscycle必须要跟关键字nocycle结合起来使用
2.伪列含义
connect_by_root 返回当前节点的最顶端节点
connect_by_isleaf 判断是否为叶子节点,如果这个节点下面有子节点,则不为叶子节点
level 节点深度
sys_connect_by_path 函数显示详细路径,并用/分隔
3.通过connect by 生成序列 select rownum from dual connect by rownum<=10
4.子句的语法书写顺序 select --> from --> where --> start with --> connect by --> order by
子句的执行顺序 from --> start with --> connect by --> where --> select --> order by
5 connect by prior parent_id=dept_id 表中所有 dept_id 等于当前记录 parent_id 的记录,向树的根节点方向搜索
connect by parent_id=prior dept_id,所有parent_id等于当前记录dept_id 的记录,向叶子节点搜索
同时,可用connecct_by_iscycle伪列定位出存在互为父子循环的具体节点。
connect_by_iscycle必须要跟关键字nocycle结合起来使用
2.伪列含义
connect_by_root 返回当前节点的最顶端节点
connect_by_isleaf 判断是否为叶子节点,如果这个节点下面有子节点,则不为叶子节点
level 节点深度
sys_connect_by_path 函数显示详细路径,并用/分隔
3.通过connect by 生成序列 select rownum from dual connect by rownum<=10
4.子句的语法书写顺序 select --> from --> where --> start with --> connect by --> order by
子句的执行顺序 from --> start with --> connect by --> where --> select --> order by
5 connect by prior parent_id=dept_id 表中所有 dept_id 等于当前记录 parent_id 的记录,向树的根节点方向搜索
connect by parent_id=prior dept_id,所有parent_id等于当前记录dept_id 的记录,向叶子节点搜索
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29437301/viewspace-1126327/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29437301/viewspace-1126327/