connect by prior(父找子,子找父)

2021-08-31 13:06:47 字數 1412 閱讀 3932

詳見com.ninetowns.ssh2frame.userdataperm.service.impl.

userdatapermmanageimpl

connect by prior

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

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

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

select * from tb_cus_area_cde

--子取父

select * from tb_cus_area_cde a   

connect by prior     a.c_snr_area=a.c_area_cde start with a.c_area_cde='1040101'

--父取子

select * from tb_cus_area_cde a   

connect by prior     a.c_area_cde=a.c_snr_area start with a.c_snr_area is null

注意:在用這個函式的時候,statement的引數要用resultset.type_scroll_insensitive   而不能用resultset.type_scroll_sensitive,在這裡再把這兩個之間的區別講講:

1.type_forword_only,只可向前滾動;

2.type_scroll_insensitive,雙向滾動,但不及時更新,就是如果資料庫裡的資料修改過,並不在resultset中反應出來。

3.type_scroll_sensitive,雙向滾動,並及時跟蹤資料庫的更新,以便更改resultset中的資料

vue 父傳子,子傳父

父元件向子元件傳值 父 子元件新增行內便簽v bind message orderlistname 之定義傳引數orderlistname 13 子 接受傳值內容props message 父頁面傳值內容,以this.message賦值。父元件 子元件 子元件向父元件傳值 子傳值 傳送傳值內容 th...

使用jquery獲取父元素或父節點

使用jquery獲取父元素或父節點,比較簡單,jquery提供了豐富的方法來讓我們使用jquery獲取父元素或父節點 jquery獲取父元素方法比較多,比如parent parents closest 這些都能幫你實現查詢父元素或節點,下面我們來一一講解 先舉個例子,我們的目的是通過 id 為 it...

Vue祖傳父正常,父傳子踩坑

踩坑現象 父傳子,子傳孫。父傳子使用props正常,子傳孫使用props卻提示未定義。終究原因 1 這段 是拷貝過來的,但結束標籤沒有拷貝過來,真想給自己兩耳光,浪費半天時間,父傳子props檢查看了n遍 22 簡單描述踩坑過程 寫乙個專案的乙個頁面,涉及到彈窗,將頁面作為父元件,彈窗作為子元件,而...