黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Oracle遞歸查詢

系統(tǒng) 2344 0

網(wǎng)上摘錄。

一、樹(shù)型表結(jié)構(gòu):

  節(jié)點(diǎn)ID? 上級(jí)ID? 節(jié)點(diǎn)名稱

二、公式:

  select 節(jié)點(diǎn)ID,節(jié)點(diǎn)名稱,level

?????? from   表

?????? connect by prior 節(jié)點(diǎn)ID=上級(jí)節(jié)點(diǎn)ID

?????? start with 上級(jí)節(jié)點(diǎn)ID=節(jié)點(diǎn)值

????? 說(shuō)明:

?????   1、常見(jiàn)的樹(shù)形結(jié)構(gòu)為公司組織機(jī)構(gòu)、地區(qū)……

    2、求節(jié)點(diǎn)ID以上的結(jié)構(gòu),或以上的結(jié)構(gòu),將“節(jié)點(diǎn)ID=上級(jí)節(jié)點(diǎn)ID”左右順序換一下即可。

    3、Level為Oracle的特殊字段,表示“層”的意思。當(dāng)前節(jié)點(diǎn)ID的下一層節(jié)點(diǎn)為“1”。

???? 測(cè)試SQL:

??????????? 說(shuō)明1、求002以下(或以上)所有子節(jié)點(diǎn)和層次(動(dòng)態(tài):總是從1開(kāi)始算),但不包括自身

??????????? 說(shuō)明2、如果求002以上的節(jié)點(diǎn),則“connect by prior topno=departno”,“=”兩邊的條件換位即可。

??????????? select departno,departname,level

??????????? from dept

??????????? connect by prior departno=topno

??????????? start with topno='002';

????? 測(cè)試數(shù)據(jù)

????  ? create table Dept(

  ?? DepartNO? varchar2(10),

????????? DepartName? varchar2(20),

????????? TopNo??? varchar2(10));

????????? insert into Dept values('001',' 董事會(huì)','0');

  ? insert into Dept values('002','總裁辦 ','001');

   insert into Dept values('003','財(cái)務(wù)部 ','001');

   insert into Dept values('004','市場(chǎng)部 ','002');

   insert into Dept values('005','公關(guān)部 ','002');

   insert into Dept values('006','銷售部 ','002');

   insert into Dept values('007','分銷處 ','006');

   insert into Dept values('008','業(yè)務(wù)拓展處','004');

   insert into Dept values('009','銷售科','007');

 向前查 比如

  select distinct departno,departname,level

  from dept

  connect by prior topno=departno

  start with

  departno='005';

 那么其實(shí)是查005自身以及上級(jí), 所以結(jié)果是005,002,001

============================================================================================

?????? 寫(xiě)遞歸最關(guān)鍵的要定義出來(lái) 遞歸函數(shù) ,遞歸函數(shù) 最關(guān)鍵的要定義出來(lái)它的 參數(shù) .和它的 返回值 咱么做展現(xiàn),不用返回值,直接做展現(xiàn)就行了,參數(shù)最重要,那就分析一下參數(shù)怎么去定義?這時(shí)候要分析遞歸的過(guò)程,遞歸過(guò)程什么樣呢?根據(jù)它的 id 找它的 父id,根據(jù)它的 父id 找到它的孩子,根據(jù)它 的孩子再找到它的孩子.那么分析這個(gè)參數(shù)肯定是一個(gè)id,因?yàn)橹挥袀鬟M(jìn)來(lái)id,才知道怎么去找這個(gè)id

Oracle遞歸查詢


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論