日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORACLE中使用递归查询

發(fā)布時間:2025/3/11 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE中使用递归查询 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在數(shù)據(jù)庫查詢中常常會碰到要查詢樹形結構的數(shù)據(jù),需要用一個字段的數(shù)據(jù)當做下一條記錄的父節(jié)點繼續(xù)查詢,如果在不知道有多少級節(jié)點的情況下一次次手寫SQL查詢會很繁瑣而沒有效率,這時可以使用 oracle中的connect with prior遞歸算法:Oracle中start with...connect by prior子句用法 connect by 是結構化查詢中用到的,其基本語法是:?select ... from tablename start with 條件1?connect by 條件2?where 條件3;?例:?select * from table?start with org_id = 'HBHqfWGWPy'?connect by prior org_id = parent_id; ?
在實際使用時遇到兩個問題,一是如果把where子句放在start with...connect by...子句后時會提示:ORA-00933:SQl命令未完全結束。此時光標置于where處,如果將where放在 start with...connect by...子句前則可以正常執(zhí)行。二是查詢的數(shù)據(jù)中不能有自循環(huán),即例子中的 org_id ?和 parent_id 在同一條記錄中不能相等,否則會提示:ORA-01436:用戶數(shù)據(jù)中的connect by 循環(huán)。這兩點需要注意。
補注:在遇到有循環(huán)的查詢時,使用 connect by NOCYCLE prior 就可以避免報錯!
以下是參考到的網(wǎng)絡文檔:http://www.cnblogs.com/chen1388/archive/2010/09/25/1834827.htmlhttp://zhidao.baidu.com/question/281792402.htmlhttp://zhidao.baidu.com/question/281792402.html

總結

以上是生活随笔為你收集整理的ORACLE中使用递归查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。