后台
所有用到IN的方法,都要考虑超过1000的可能
if(cameraIds != null && cameraIds.length > 0){ sql.append(" AND ");
//解决设备超过1000个,Oracle语法错误
sql.append(" ( OBJ.S_CODE IN ( " ); for (int i = 0; i < cameraIds.length; i++) { sql.append("‘").append(cameraIds[i].toString() + "‘,"); if ((i + 1) % 1000 == 0 && (i + 1) < cameraIds.length) { sql.deleteCharAt(sql.length() - 1); //去掉最后的逗号 sql.append(" ) OR ").append("OBJ.S_CODE").append (" IN ("); } } sql.deleteCharAt(sql.length() - 1); //去掉最后的逗号 sql.append( " ) ) ");
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|