oracle SYS_CONNECT_BY_PATH,connect by 实例
来源:互联网 发布:磁阻尼器淘宝 编辑:程序博客网 时间:2024/05/21 01:27
prior p_dim_value=dim_value,如果prior在前,则树是倒树还是正树就从后往前读,dim_value是子,p_dim_value是父,即此树是正树
prior dim_value = p_dim_value,如果prior在前,则树是倒树还是正树就从后往前读,p_dim_value是父,dim_value是子,即此树是倒树
如果prior省略不写的话,就不进行深层次的递归
--倒树从子结点到根结点,无prior
select dim_name,dim_value,level
from K_DIM_VALUE
START WITH DIM_VALUE = '3540102' and dim_code='org'
CONNECT BY NOCYCLE P_DIM_VALUE = DIM_VALUE
and dim_code='org';
鼓楼3540102 1
--倒树从子结点到根结点
select dim_name,dim_value,levelfrom K_DIM_VALUE
START WITH DIM_VALUE = '3540102' and dim_code='org'
CONNECT BY NOCYCLE PRIOR P_DIM_VALUE = DIM_VALUE and dim_code='org';
1鼓楼 35401021
2 福州 354012
3 福建 351013
4 国网公司 00000 4
--正树从根结点到子结点
select dim_name,lpad(' ',2*level-2 )||dim_value,level
from K_DIM_VALUE
START WITH DIM_VALUE = '35401' and dim_code='org'
CONNECT BY PRIOR DIM_VALUE = P_DIM_VALUE
and dim_code='org';
1福州 354011
2 台江 35401012
3 鼓楼 35401022
4 鼓楼分局本部 354010201 3
5 洪山 3540102023
6 仓山 35401032
7 仓山分局本部 354010301 3
8 金山 3540103023
9 螺城 3540103033
10 盖山 3540103043
--正树从根结点到子结点,SYS_CONNECT_BY_PATH加上父级名称
select dim_code,SYS_CONNECT_BY_PATH(dim_name,'/'),lpad(' ',2*level-2 )||dim_value,level
from K_DIM_VALUE
START WITH DIM_VALUE = '35401' and dim_code='org'
CONNECT BY PRIOR DIM_VALUE = P_DIM_VALUE
and dim_code='org'
1org /福州35401 1
2 org /福州/台江 3540101 2
3 org /福州/鼓楼 3540102 2
4 org /福州/鼓楼/鼓楼分局本部 354010201 3
5 org /福州/鼓楼/洪山 354010202 3
6 org /福州/仓山 3540103 2
7 org /福州/仓山/仓山分局本部 354010301 3
8 org /福州/仓山/金山 354010302 3
9 org /福州/仓山/螺城 354010303 3
10 org /福州/仓山/盖山 3540103043
小技巧:
select rownum a from dual connect by rownum<=10000;
生成1000之内的数据
- oracle SYS_CONNECT_BY_PATH,connect by 实例
- oracle 递归查询 CONNECT BY、START WITH、CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、SYS_CONNECT_BY_PATH
- oracle 递归查询 CONNECT BY、START WITH、CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、SYS_CONNECT_BY_PATH
- oracle 递归查询 CONNECT BY、START WITH、CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、SYS_CONNECT_BY_PATH
- 使用connect by、Sys_Connect_By_Path实现的SQL
- oracle中 connect by prior 递归算法,connect_by_root,sys_connect_by_path,connect_by_isleaf,CONNECT_BY_ISCYC
- 用Mysql怎样实现Oracle中的SYS_CONNECT_BY_PATH函数和START WITH ...CONNECT BY PRIOR方法
- oracle中 connect by prior 递归算法,connect_by_root,sys_connect_by_path,connect_by_isleaf,CONNECT_BY_ISCYC
- oracle中 connect by prior 递归算法,connect_by_root,sys_connect_by_path,connect_by_isleaf,CONNECT_BY_ISCYC
- Oracle Connect By 使用实例(转)
- SYS_CONNECT_BY_PATH()与start with ... connect by priod 的用法~~
- SYS_CONNECT_BY_PATH(column,'char') 结合 start with ... connect by prior
- Oracle start with..Connect By prior..用法实例讲解
- Oracle中start with...connect by子句实例
- Oracle Connect By Prior(递归查询)简洁实例
- Oracle Connect By Prior(递归查询)简洁实例
- Oracle Connect by 使用方法
- Oracle Connect By用法
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制
- poj 2392 Space Elevator 二进制拆包多重背包
- 云计算简单科普
- WebClient的超时问题及解决
- 51单片机开发环境及其工具
- oracle SYS_CONNECT_BY_PATH,connect by 实例
- Hibernate的get和load方法
- 实践中整理出tomcat集群和负载均衡
- 常用的正则表达式
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化
- 代码检查 整理汇总(一)
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- Android Launcher 分析
- 独狼