• oracle 中start with 的用法


    在重新开发已经有过的一个项目时,参考原本的sql,在一个存储过程中有用到 start with connect by,从网络找到下面资料。

    Oracle 提供了start with connect by 语法结构可以实现递归查询。
     from test;
     DAY_NUMBER MSISDN
    -------------------- ---------- --------------------
    200803                        1 13800
    200803                        3 13800
    200803                        2 13800
    200803                        2 13801
    200803                        4 13804
    200803                        5 13804
    200803                        7 13804
    200803                        8 13804
    200803                        6 13802
    200803                        6 13801
    200803                        7 13801
    200803                        8 13801

    SQL>
    SQL> select * from test
      2       start with day_number=1
      3       connect by  prior day_number=day_number-1 and prior msisdn= msisdn
      4      ;
     DAY_NUMBER MSISDN
    -------------------- ---------- --------------------
    200803                        1 13800
    200803                        2 13800
    200803                        3 13800


     connect by 语法结构
     如上面说看到的 例子, 其语法结构为  start with condition  connect by  condition (含 prior 关键字)
    start with conditon 给出的seed 数据的范围, connect by  后面给出了递归查询的条件,prior 关键字表示父数据,prior 条件表示子数据需要满足父数据的什么条件。

    start with day_number=1
         connect by  prior day_number=day_number-1 and prior msisdn= msisdn

  • 相关阅读:
    RocketMQ架构和源码分析
    RocketMQ问题总结
    整型和浮点型
    uvaoj 113
    Processing多窗口程序范例(一)
    Kotlin编写Processing程序(使用函数式编程思维和面向接口方式)
    浅谈Processing中的 println() 打印输出函数[String]
    Processing中获取表格数据( .tsv.csv )的经验分享
    Processing 网格(棋盘格)无限偏移纹理动画
    Processing 使用pixels[]像素数组绘制矩形rect和圆形ellipse
  • 原文地址:https://www.cnblogs.com/liuss2014/p/6045711.html
Copyright © 2020-2023  润新知