成人免费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技術棧公眾號

主站蜘蛛池模板: 在线观看欧美日韩视频 | 伊人网伊人网 | 国产精品成人一区二区三区 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 国产精品久久国产精品 | 特级丰满少妇一级aaaa爱毛片 | 亚洲国产欧美日韩 | 手机日韩 | 欧美日韩国产在线观看 | 久久专区 | 中文字幕日韩一区 | 中文视频在线 | 日韩中文字幕网 | 国产不卡视频 | 免费观看黄网站 | 91视频免费在观看 | 欧美 视频 | 91不卡| 国产成人一区二区三区久久久 | 一级久久久久久 | 国产免费观看一级国产 | 精品视频国产 | 东京av男人的天堂 | 欧美日韩在线视频一区 | 午夜精品福利视频 | 中文字幕 国产精品 | 国产亚洲网站 | 国产免费视频在线 | 亚洲午夜av| 亚洲情综合五月天 | 超碰最新在线 | 91精品国产欧美一区二区 | 欧美一级视频免费看 | 欧美综合久久久 | 午夜电影网 | 精产国产伦理一二三区 | 亚洲精品中文字幕 | 欧美一区二区三区久久精品 | 91视频进入| 999精品在线 | 国产在线精品免费 |