時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
例子:
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、表機(jī)構(gòu)
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、遞歸查找父結(jié)點(diǎn) org_id為C6000000000001下的所有子結(jié)點(diǎn):
select * from comm_org_subjection a
start with a.org_id='C6000000000001'
connect by prior a.org_subjection_id=a.father_org_id
3、遞歸查找子結(jié)點(diǎn) org_id為C6000000000001下的所有父結(jié)點(diǎn):
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
關(guān)鍵詞標(biāo)簽:oracle,SQL遞歸語句
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法