ORA-01795解決方法
a in ('1', '2', '3')
動態拼接的sql中,in的資料超過1000報錯。
解決方法:
1.改寫為a in ('1', '2') or a in ('3')
的形式
參考程式碼
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(installLongInSql("aa", new ArrayList(Arrays.asList("1", "2", "3", "11", "2", "2", "2", "1"))));
}
public static String installLongInSql(String col, List<String> inList){
if(inList == null || inList.size() == 0 || col == null || col.length() == 0)
return "";
StringBuffer sb = new StringBuffer(" " + col + " in (");
int len = 5;
int i = 0;
for(; i < inList.size(); i++){
if(i % len == 0 && i != 0)
sb.append(" or " + col + " in (");
sb.append("'" + inList.get(i) + "',");
if(i % len == len - 1)
sb.deleteCharAt(sb.length() - 1).append(")");
}
if(i % len != len - 1)
sb.deleteCharAt(sb.length() - 1).append(")");
return sb.toString();
}
2.在條件允許的情況下,建立臨時表
拼接結果示例
create table temp_1800601001 as
select '1' a from dual union all
select '1' a from dual union all
select '1' a from dual union all
select '1' a from dual
之後用臨時表做表關聯。
3.對整條語句進行拆分。
不看好,不建議。
select還能湊合。insert,update,delete可能會有業務邏輯,資料庫事務,甚至死鎖的問題。create直接沒法做。
結論:建議用1.
相關文章
- ORA-01795: 列表中的最大表示式數為 1000解決方法
- ORA-01795:列表中的最大表示式數為1000解決方法
- ORA-01795 For ORACLE 10GOracle 10g
- TabError的解決方法Error
- EXE病毒解決方法
- ArtifactDescriptorException的解決方法Exception
- SERVICE問題解決方法
- No Task Available解決方法AI
- No input file specified 解決方法
- ANR原因及解決方法
- pyenv BUILD FAILED解決方法UIAI
- defunct僵死程式解決方法
- putty亂碼解決方法
- hash衝突解決方法
- dns劫持怎麼解決 dns劫持的解決方法DNS
- javaweb中中文亂碼解決方法總結之response和request解決方法JavaWeb
- hive使用報錯解決方法Hive
- 解決問題通用方法論
- Method ReflectionParameter::getClass() 解決方法
- As常見問題解決方法
- css命名衝突解決方法CSS
- 介面返回[object,Object]解決方法Object
- ImportError: No module named ‘torch‘ 解決方法ImportError
- 遇到問題的解決方法
- Nginx遇上AccessDenied提示解決方法Nginx
- ORA-29283解決方法(impdp)?
- Internal error:1058 解決方法Error
- "undefined reference to" 問題解決方法Undefined
- 問題解決方法有三
- ImportError: No module named setuptools 解決方法ImportError
- 求事務的解決方法
- Josephus問題解決方法一
- Josephus問題解決方法二
- SQL SERVER Msg 7391解決方法SQLServer
- xmanager之linux 解決方法Linux
- CPU挖礦病毒解決方法
- PbootCMS 404 錯誤解決方法boot
- brew install gcc 卡住解決方法GC