成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個Oracle遞歸查詢的實例代碼分析

數據庫 Oracle
本文通過對一段遞歸查詢代碼的分析來介紹Oracle數據庫遞歸查詢的實現,希望能對讀者有所幫助。

Oracle數據庫遞歸查詢用途非常的廣泛,我們做遞歸查詢首先要定義好遞歸函數,以及它的參數和返回值,然后實現查詢。本文通過一個代碼的實例講解介紹了這一過程,接下來我們就開始介紹。

一、樹型表結構:

節點ID 上級ID 節點名稱

二、公式:

 

  1. select 節點ID,節點名稱,level  
  2.  
  3. from 表  
  4.  
  5. connect by prior 節點ID=上級節點ID  
  6.  
  7. start with 上級節點ID=節點值 

 

說明:

1、常見的樹形結構為公司組織機構、地區……

2、求節點ID以上的結構,或以上的結構,將“節點ID=上級節點ID”左右順序換一下即可。

3、Level為Oracle的特殊字段,表示“層”的意思。當前節點ID的下一層節點為“1”。

測試SQL:

說明1、求002以下(或以上)所有子節點和層次(動態:總是從1開始算),但不包括自身。

說明2、如果求002以上的節點,則“connect by prior topno=departno”,“=”兩邊的條件換位即可。

 

  1. select departno,departname,level  
  2.  
  3. from dept  
  4.  
  5. connect by prior departno=topno 
  6.  
  7. start with topno='002'

 

測試數據:

 

  1. create table Dept(  
  2.  
  3. DepartNO varchar2(10),  
  4.  
  5. DepartName varchar2(20),  
  6.  
  7. TopNo varchar2(10));  
  8.  
  9. insert into Dept values('001',' 董事會','0');  
  10.  
  11. insert into Dept values('002','總裁辦 ','001');  
  12.  
  13. insert into Dept values('003','財務部 ','001');  
  14.  
  15. insert into Dept values('004','市場部 ','002');  
  16.  
  17. insert into Dept values('005','公關部 ','002');  
  18.  
  19. insert into Dept values('006','銷售部 ','002');  
  20.  
  21. insert into Dept values('007','分銷處 ','006');  
  22.  
  23. insert into Dept values('008','業務拓展處','004');  
  24.  
  25. insert into Dept values('009','銷售科','007'); 

 

向前查,比如:

 

  1. select distinct departno,departname,level  
  2.  
  3. from dept  
  4.  
  5. connect by prior topno=departno 
  6.  
  7. start with  
  8.  
  9. departno='005'

 

那么其實是查005自身以及上級, 所以結果是005,002,001。

總結:寫遞歸最關鍵的要定義出來遞歸函數,遞歸函數最關鍵的要定義出來它的參數和它的返回值。參數最重要,分析一下參數怎么去定義?這時候要分析遞歸的過程,遞歸過程什么樣呢?根據它的id 找它的父id,根據它的父id 找到它的孩子,根據它的孩子再找到它的孩子。那么分析這個參數肯定是一個id,因為只有傳進來id,才知道怎么去找這個id。

關于Oracle數據庫的遞歸查詢就介紹這么多,謝謝各位一直以來的支持!

【編輯推薦】

  1. 共享database獨立Schema構建SAAS平臺
  2. 利用Sql Server將Excel中的數據導入Oracle
  3. Oracle跟蹤文件分析工具TKPROF使用簡介
  4. 環境變量導致ASP.Net無法連接Oracle的一個案例
  5. PLSQL Developer8連接Oracle 10g X64版報錯的解決
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-07-20 13:40:00

SQLite數據庫查詢數據

2009-11-02 15:15:43

Oracle授予用戶權

2011-07-20 14:32:59

SQLite數據庫LIKE查詢IN集合查詢

2010-04-06 10:32:12

Oracle遞歸查詢

2010-04-02 15:04:14

Oracle遞歸查詢

2010-04-26 14:43:17

Oracle遞歸條件查

2010-10-28 16:42:04

oracle多表查詢

2009-07-15 13:41:00

JDBC實例

2011-07-19 09:18:50

Oracle級聯刪除

2009-11-19 11:23:08

Oracle重作日志

2011-01-26 12:56:24

2011-07-20 14:57:47

SQLite數據庫ORDER BYGROUP BY

2011-07-22 15:38:54

SQL Server數存儲過程切割字符串

2011-07-20 12:55:17

SQLite數據庫插入數據

2009-09-02 18:39:34

C#遞歸算法

2024-01-08 13:47:00

代碼分析工具

2011-07-20 17:02:51

Oracle數據庫

2010-04-14 15:01:50

Oracle ASM

2011-09-08 13:41:53

Widget

2009-12-21 16:31:15

靜態路由設置
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产片侵犯亲女视频播放 | 一区二区在线免费观看 | 欧美aa在线 | 欧美日韩亚洲一区 | 91久久北条麻妃一区二区三区 | 91看片网 | 亚洲国产高清在线观看 | 天堂久 | 久久国产欧美日韩精品 | 毛片入口 | 欧美一级三级 | 亚洲一区二区三区 | 国产成人jvid在线播放 | 不卡一区| 999热精品视频 | 色就干 | 国产91视频一区二区 | 国产高清自拍视频在线观看 | 精品无码久久久久久国产 | 亚洲五码在线 | 国产精品美女久久久久久免费 | 狠狠干天天干 | 在线观看日韩av | 亚洲人成人一区二区在线观看 | 成人欧美一区二区三区在线播放 | 黄色网址大全在线观看 | 天天色图 | 亚洲乱码国产乱码精品精98午夜 | 一区二区三区成人 | 国产精品18hdxxxⅹ在线 | 成人精品在线观看 | 成人免费av | 欧美成人精品二区三区99精品 | 国产伦精品 | 久久久久久国模大尺度人体 | 天堂一区二区三区 | 国产一区二区三区在线免费观看 | 性一交一乱一伦视频免费观看 | 亚洲精品日韩精品 | 日韩av黄色 | 成人福利电影 |