資料庫是ora 10g的,編譯平臺是XE8.
在陳述句中使用了wm_concat函式(使用group合并),在pl/sql里測驗沒有問題(怎么都合適
),讀取中欄位長度也未超過1000,離wn_concat自身報錯極限4000也還差很遠,但是程式里使用TAdoQuery讀取時報例外,提示“ora-22922 nonexistent LOB Value”錯誤。(網上也查了半天,都說是在使用wm_concat的同時使用了group、union等關鍵字,但問題是pl/sql查詢沒有問題。網上另一個解決辦法是使用listagg函式,11g才提供該函式,目前也不可能升級資料庫)必須對資料庫分組后的欄位進行合并,也測驗過分步查詢解決,不報錯但效率沒有直接查詢出來的效率高,請問下如何解決或有沒有其他思路。
uj5u.com熱心網友回復:
自己頂一下!
先用分段的方式做了,從庫里排查了一下,小于字符數800的采用wm_concat方式,大于了就兩步查詢,好在大于的量不算很多,整體速度還行;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/15753.html
標籤:數據庫及相關技術
上一篇:救救孩子!!!
下一篇:VC++6.0分享
