ORACLE 递归查询

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 --&gt from --&gt where --&gt start with --&gt connect by --&gt order by
   子句的执行顺序 from --&gt start with --&gt connect by --&gt where --&gt select --&gt 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值