<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-23  評論-0  文章-5  trackbacks-0
    在ORACLE 數(shù)據(jù)庫中有一種方法可以實(shí)現(xiàn)級聯(lián)查詢
    select *                //要查詢的字段
    from table              //具有子接點(diǎn)ID與父接點(diǎn)ID的表 
    start with selfid=id      //給定一個(gè)startid(字段名為子接點(diǎn)ID,及開始的ID號)
    connect by prior selfid=parentid       //聯(lián)接條件為子接點(diǎn)等于父接點(diǎn),不能反

    這個(gè)SQL主要用于菜單的級聯(lián)查詢,給一個(gè)父接點(diǎn)可以查出所有的子接點(diǎn)。及子接點(diǎn)的子接點(diǎn),一查到底,很實(shí)用。不過呢這個(gè)程序只能在oracle里面用,我目前還不知道在其它數(shù)據(jù)庫里是怎么調(diào)用的。等我找到了,再貼出來與大家分享。
    這個(gè)程序,估計(jì)好多人看不明白,其實(shí)放了這么久我也一時(shí)沒看明白,重新測了一下,補(bǔ)充說明一下,不然我下次又看不懂了。
    以一個(gè)windows系統(tǒng)的菜單為例。我那一個(gè)這樣的表menu。
    說明:
    mid:菜單的ID號
    mname:菜單名稱
    mpid:菜單的
    quickey:快捷鍵
    validate:權(quán)限表(存放userid,或者角色id)
    mid mname mpid quickey validate                                                                  
    1 文件   ctrl+f 1,2,3,4,11,23,45
    2 編輯   ctrl+e  
    3 新建 1 alt+w  
    4 文件夾 3  

     

    如果我想知道在“文件”菜單下有那些子菜單的話。我就可以這樣用這個(gè)SQL程序:
    select * from menu
    start with mid=1     
    connect by prior mid=mpid;
    這樣就可以把 “文件”里的子菜單全部列出來了。當(dāng)然實(shí)際應(yīng)用不會這么簡單,如附加其實(shí)條件,尤其是權(quán)限管理,這時(shí)根據(jù)你的系統(tǒng)要求,是對個(gè)個(gè)驗(yàn)證,還是對角色驗(yàn)證,把這些人的ID放在validate這個(gè)字段里,組成一個(gè)字符串,N個(gè)ID用逗號隔開,(注意,在往數(shù)據(jù)庫保存時(shí)要注意對字符串處理一下,截取掉最后一個(gè)逗號這樣可以節(jié)省很多麻煩)
    select * from menu
    where validate in(……)
    and mid in(
       select mid from menu  //這里不能用*號了。
       start with mid=1     
       connect by prior mid=mpid;
    )
    最后再補(bǔ)充一點(diǎn)關(guān)于隨機(jī)查詢的代碼
    select * from user order by sys_guid()
    posted on 2015-03-12 12:04 ForMeBlog 閱讀(1479) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩激情无码一区| 亚洲午夜久久久影院| 亚洲成人黄色在线观看| 国产猛男猛女超爽免费视频| 亚洲精品线路一在线观看| 全部在线播放免费毛片| 亚洲片国产一区一级在线观看 | 亚洲国产成人精品无码区花野真一 | 亚洲国产视频网站| 日韩精品成人无码专区免费| 精品久久亚洲中文无码| 无码视频免费一区二三区 | 亚洲伊人久久大香线蕉影院| 成人无码区免费A片视频WWW| 亚洲日产乱码一二三区别| 日本免费一二区在线电影| 极品美女一级毛片免费| 中文字幕精品亚洲无线码一区应用| 久久久受www免费人成| 亚洲va久久久噜噜噜久久天堂| 久久青草精品38国产免费| 亚洲av乱码一区二区三区| 夭天干天天做天天免费看| 一级做受视频免费是看美女| 亚洲爆乳精品无码一区二区三区| 日韩免费人妻AV无码专区蜜桃| 国内精品久久久久影院亚洲| 亚洲成a人片在线播放| 国产白丝无码免费视频| 亚洲午夜在线播放| 亚洲日本在线观看视频| 久久免费观看国产精品88av| 亚洲色大成网站www尤物| 久久精品亚洲福利| 国产在线观看麻豆91精品免费| 色欲aⅴ亚洲情无码AV| 色播亚洲视频在线观看| 国产黄色片在线免费观看| 免费播放在线日本感人片| 久久综合久久综合亚洲| 亚洲熟妇丰满多毛XXXX|