有一个定时任务,每天0点会执行一个存储过程,对当天的数据进行迁移,存储过程大概的逻辑如下:
INSERT INTO B (BUSINESS_DATE, ...)
SELECT BUSINESS_DATE, ...
FROM A
WHERE to_char(BUSINESS_DATE, 'yyyy-mm-dd') <= to_char(CURRENT_DATE, 'yyyy-mm-dd');
DELETE FROM A WHERE to_char(BUSINESS_DATE, 'yyyy-mm-dd') <= to_char(CURRENT_DATE, 'yyyy-mm-dd');
现在的情况却是,假设:
1号:
A表 -> 2021-04-01 ....
B表 -> null
2号:
A表 -> 2021-04-02 ....
2021-04-01 ....
B表 -> 2021-04-01 ....
3号:
A表 -> 2021-04-03 ....
2021-04-02 ....
B表 -> 2021-04-02 ....
2021-04-01 ....
2021-04-01 ....
这就导致每天的数据会重复。
以上的情况是在测试服务器中出现的,我在本地机器上测试的不会出现这种情况,请问大佬这可能是哪里出问题了?