java - 如何通过 jdbc 将从查询返回的记录拆分为 1000 组
问题描述
我有一个源数据库和一个目标数据库,我需要检查两者的计数,是否相同。
我通过以下查询从源数据库中获取一列:
DMS_Arr[0] = "select count(distinct eai_src_pk) from document_id_creation where eai_entry_date > (trunc(sysdate-1) + 00/24) and eai_entry_date < (trunc(sysdate) + 00/24)";
DMS_Arr[1] = "select distinct eai_src_pk from document_id_creation where eai_entry_date > (trunc(sysdate-1) + 00/24) and eai_entry_date < (trunc(sysdate) + 00/24)";
现在我将 DMS_Arr[1] 的输出存储到一个用逗号分隔的变量“targetPk”中,并在我的 JDBC 查询中使用它来通过以下查询检查目标端的计数。
ERP_Arr[0] ="select count(distinct eai_src_pk) from xxindus.XXINDUS_ERP_OBRM_PYMT_CNDN_T where eai_src_pk in (" + targetPk + ")" + " and eai_entry_date > (trunc(sysdate-1) + 00/24)";
但是,问题是变量 targetPk 中的记录可能是 1000、10000 或 150000,而数据库一次只能处理 1000 个。如何让我的代码处理这个问题并自动将它们拆分为 1000 组,以便 JDBC 查询不会引发任何错误。然后我需要将所有这些返回的值存储到一个用逗号分隔的字符串变量中并检查计数。
解决方案
推荐阅读
- jquery - 设置 jquery 移动滑块会导致错误
- c# - 将内容绑定到文本块的隐式样式
- java - 在不使用 JSON 帮助器类的情况下,从 Java 中的大型 JSON 文件中提取特定文本(密码字符串)
- c - 是否有类似于原生 C 中的 std::lock_guard 的东西?
- system-verilog - 为什么在 systemverilog 测试台中不是“邮箱”而不是“界面”
- php - 如何让我的 Yii2 404 页面显示在实时服务器上
- python-3.x - 如何在保存神经网络的同时解决路径问题
- c# - 从 Office Web 加载项访问 C# 库
- python - 给定各种条件,如何在熊猫数据框中更改日期的年份?
- c - 为什么 C 宏调用会占用大括号?