oracle 定时任务执行结果不正确

有一个定时任务,每天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 ....

这就导致每天的数据会重复。
以上的情况是在测试服务器中出现的,我在本地机器上测试的不会出现这种情况,请问大佬这可能是哪里出问题了?

阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题