Oracle Connect by 使用方法

2021-04-12 12:35:46 字數 606 閱讀 1194

connect by prior start with 經常會被用到乙個表中存在遞迴關係的時候。比如我們經常會將乙個比較複雜的目錄樹儲存到乙個表中。或者將一些部門儲存到乙個表中,而這些部門互相有隸屬關係。這個時候你就會用到connect by prior start with。

典型的使用方法就是:

select * from table connect by prior cur_id=parent_id start with cur_id=???

例如:a         b

1        0

2        1

3        1

4        2

5        3

如果想查詢a=2及其下面的所有資料,則:

select * from table connect by prior a=b start with a=2

a        b

2        1

4        2

這些只是基礎,皮毛。其實只要你靈活的構造查詢語句。可以得出意想不到的結果。比如生成樹每乙個路徑。

但是這些記錄組成的樹必須正常才可以。如果有互為父子的情況,就會出現迴圈錯誤!

oracle connect by遇到的問題

一般情況下,一張表裡的資料尤其是樹形結構的資料關聯id會是惟一的 sql查詢示例 select from crm riskcode conf where usage cde 309001 and is delete 1 connect by prior a.cvrg no a.parent cvrg...

Oracle connect by 樹查詢之二

先用scott使用者下的emp表做實驗.emp表有個字段,乙個是empno 員工編號 另乙個是mgr 上級經理編號 下面是表中所有資料 執行結果如下 得到的結果是empno 7698的資料,以及會得到mgr 7698的資料。它是向下遞迴的,即我們從empno 7698開始遍歷,去找出mgr 7698...

dbms output put line使用方法

begin dbms output.put line a end 如果你是再sql plus中,只要再環境中打出 set serveroutput on 就可以了.還有一種方法 就是使用環境中的繫結變數也可以.再環境中定義 variable name varchar2 50 然後把過程新增乙個out...