oracle SQL递归的使用方法

来源:爱站网时间:2021-01-21编辑:网友分享
有用户们最近给小编留言说不知道怎么写SQL递归语句,那么下面我们就带着这个问题一起去看看oracle SQL递归的使用方法吧。

有用户们最近给小编留言说不知道怎么写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下的所有父结点:

 

 

 

上文就是小编介绍oracle SQL递归的使用方法,大家都清楚了吗?希望小编讲的大家能学到,摆脱此刻遇到困难的你。

上一篇:Oracle如何查找与删除表中重复记录

下一篇:如何使用oracle case when语句

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载