oralce sql Connect by功能详解

来源:互联网 发布:mac 终端查看路径 编辑:程序博客网 时间:2024/05/30 04:29

--connect by 使用详解

 

基本用法
实例:

  SELECT ename, job, ename FROM scott.emp emp START WITH ename IN ('WARD') CONNECT BY empno = PRIOR mgr;


START WITH:表示递归的种子,即从哪里开始
CONNECT BY:描述递归步骤,即怎么找下一层
PRIOR:指上一层的

集合用法
每个关键词都可以独立用,这里集中在一起用:


  1. LEVEL伪列:表明产生的行属于第几步递归
    CONNECT_BY_ROOT:返回指定字段的根的值
    SYS_CONNECT_BY_PATH:返回指定字段的从根到当前行的路径
    ORDER SIBLINGS BY:在同一父亲下,各个兄弟按指定的字段排序
    NOCYCLE:防止递归进入死循环
    CONNECT_BY_ISCYCLE:如果当前行是循环的一部分,则返回1,否则返回0
    CONNECT_BY_ISLEAF:如果当前行是叶子,则返回1,否则返回0

特殊用法:拆分字符串
实例:


可用在PL/SQL中,对某一变量进行拆分,比如来自CSV文件的内容。

原创粉丝点击