熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle層次查詢和with函數的使用示例

2013-11-13 22:24:59  來源: Oracle 

  開發中大家應該都做過什麼類似部門管理這樣的功能一般情況下一個部門下面還有下一級部門(子部門)這個層級就類似一棵樹這種情況下一般會把父級部門 和子級部門分成個或者多個表這種算是比較常規的做法有時可能為了數據表管理的方便 就把所有的部門放在一張表裡並加上一個字段標識部門之間的隸屬關系這樣子看起來有點奇怪但湊合用用還是Ok的下面我跟大家分享下我的心得也就是基 於這種設計怎麼做數形圖簡單的做法就是查詢出一個list集合就可以要怎麼辦呢先來看下我的數據表

  
不難看出部門之間用fparent關聯那sql語句怎麼寫呢下面是一種偷懶的寫法

復制代碼 代碼如下:
||是連接符level可以看成常量
select tfnumLPAD( *level)|||||fname fnametfparentLevel lev
From m_depart t
start with後面是條件
start with fparent is null
connect by Prior後面是條件
connect by Prior fnum=fparent

  
下面是查詢結果查詢結果和數非常接近

  
差不多了下面還有一個比較常用的with函數一般做復雜查詢可能會用到可以參考下面的文章


From:http://tw.wingwit.com/Article/program/Oracle/201311/19046.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.