加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

oracle SQL递归的使用分析

发布时间:2021-12-01 11:39:40 所属栏目:教程 来源:互联网
导读: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 e

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
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读