Caused by: java.sql.BatchUpdateException: ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-01000: 超出打开游标的最大数
/*数据量过大,分批次插入*/
//限制数每次插入量
int dataLimit = 100;
//数据总大小
int size = list.size();
//是否有必要分批
if (size <= dataLimit) {
//插入数据到数据库
xxxxRepository.saveLists(list);
} else {
//分批数
int part;
if (size % dataLimit != 0) {
part = size / dataLimit + 1;
} else {
part = size / dataLimit;
}
for (int i = 0; i < part; i++) {
List<Map<String, Object>> maps;
//判断是否是最后一次
if (i != part - 1) {
maps = list.subList(i * dataLimit, (i + 1) * dataLimit);
} else {
maps = list.subList(i * dataLimit, list.size());
}
//插入数据到数据库
xxxxRepository.saveLists(maps);
}
}