主页 > 知识库 > oracle SQL递归的使用详解

oracle SQL递归的使用详解

热门标签:Linux服务器 网站排名优化 服务外包 地方门户网站 呼叫中心市场需求 AI电销 百度竞价排名 铁路电话系统
oracle数据库中如果需要使用SQL递归语句,应该怎么写呢?下面就为您介绍一个oracle中使用SQL递归语句的例子,供您参考。
例子:
复制代码 代码如下:

pid  id
  a   b  
  a   c    
  a   e  
  b   b1  
  b   b2  
  c   c1  
  e   e1  
  e   e3  
  d   d1  

指定pid=a,选出  
  a   b  
  a   c    
  a   e  
  b   b1  
  b   b2  
  c   c1  
  e   e1  
  e   e3 
SQL语句:select   parent,child   from   test   start   with   pid='a'  
connect   by   prior   id=pid

Oracle  SQL递归查询语句:
1、表机构
复制代码 代码如下:

SQL> desc comm_org_subjection
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 ORG_SUBJECTION_ID                         NOT NULL VARCHAR2(32)   子键
 ORG_ID                                    NOT NULL VARCHAR2(32)
 FATHER_ORG_ID                             NOT NULL VARCHAR2(32)   父键
 LOCKED_IF                                 NOT NULL VARCHAR2(1)
 START_DATE                                NOT NULL DATE
 END_DATE                                           DATE
 EDITION_NAMEPLATE                                  NUMBER(8)
 CODE_AFFORD_IF                                     VARCHAR2(1)
 CODE_AFFORD_ORG_ID                        NOT NULL VARCHAR2(32)
 CODING_SHOW_ID                                     NUMBER(8)
 BSFLAG                                             VARCHAR2(1)
 MODIFI_DATE                                        DATE
 CREATOR_ID                                         VARCHAR2(32)
 CREATE_DATE                                        DATE
 CREATOR                                            VARCHAR2(35)

2、递归查找父结点 org_id为C6000000000001下的所有子结点:
复制代码 代码如下:

select * from comm_org_subjection a
start with a.org_id='C6000000000001'
connect by prior a.org_subjection_id=a.father_org_id

3、递归查找子结点 org_id为C6000000000001下的所有父结点:
复制代码 代码如下:

select org_id from comm_org_subjection a
start with a.org_id='C6000000000001'
connect by prior a.father_org_id=a.org_subjection_id

您可能感兴趣的文章:
  • 深入sql oracle递归查询
  • Oracle 11GR2的递归WITH子查询方法
  • Oracle通过递归查询父子兄弟节点方法示例
  • oracle 使用递归的性能提示测试对比
  • Oracle递归查询start with connect by prior的用法

标签:黄山 兰州 湖南 崇左 衡水 铜川 仙桃 湘潭

巨人网络通讯声明:本文标题《oracle SQL递归的使用详解》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266