oralce递归函数

语法:

  select * from table

  where 条件1                [语句一] 

  start with 条件2                                                 [语句二]

  connect by prior 当前表字段=级联表字段         [语句三]

说明:

connect by 和 start with 的位置关系不影响结果,where条件子句可以不需要,那么他们三者的作用范围

       语句一    :是根据start with 和connect by prior 选择出来的结果进行过滤,这个选择出来的结果是单条记录

       语句二    :是查找起始的条件 

       语句三    :是构成树的条件,也就是形成关系的条件

prior 关键字可以不要,他的存在如果将他写于“=”左边,表示先找父节点,然后才找子节点。如果将他写于右边,表示先找叶子节点,然后再找父节点。

整个递归函数的执行原理:

遍历指定的表中的所有记录,首先确定是否满足start with条件,如果不满足则继续找下一条记录,如果满足则已找到的记录为根节点,然后递归获取该节点下的子节点信息,这时候的查找条件是connect by语句对应的信息。

原文地址:https://www.cnblogs.com/yaoxiaoxing/p/4563053.html