天天看點

ORA-06502錯誤的檢討

ORA-06502: PL/SQL: 數字或值錯誤 :  字元串緩沖區太小      

一般情況對資料庫查詢的時候我們會用拼接一個where語句的方式來查詢,不過有一種情況我們不太确定where語句的内容(比如說,它需要在運作時确定,也就是在執行是拼接一個sql語句  XXXID in (IDa,IDb,IDc,...))。

這個錯誤出現前,我的做法是就是這樣的。出現問題的原因是,随着資料量的增大,in後面的資料會非常多,進而造成sql語句過長。

解決辦法為:我把in後面的東西拼接成一個sql語句(select ID distinct from table1where...).