我有一个源数据库和一个目标数据库,我需要检查两者中的计数,是否相同。
我通过以下查询从源数据库中获取一列:
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]的输出存储到变量&#34; targetPk&#34;用逗号分隔并在我的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查询不会抛出任何错误。然后我需要将返回的所有值存储到以逗号分隔的字符串变量中并检查计数。