将项从一个表重新插入到另一个表的java SQL逻辑?e、 g活动记录变为非活动记录
我有一张叫booking的桌子。主键是booking_id
。该表有一个名为booking_num
的列booking_num
用于识别预订
另一张表是预订历史。目的是在一段时间后,比如说2天,将完成的预订记录从预订表转移到预订历史表。识别它的列将是completed_dt
。
例如,completed_dt
是'08-SEP-19'
我试图实现的是,在这个日期之后的2天之后,它将被移动到booking_hist
表中
Should there be any null<->non-null conversions of the column? What is the logic I need to achieve this? How can i get the date to count 2 days?
# 1 楼答案
您可以安排SQL Agent作业每天运行,并调用存储过程来查看活动预订并检查已完成的任务,如:
# 2 楼答案
这听起来像是在计划的工作中应该发生的事情。 我会添加一个ready_for_archive列来预订一个布尔标志
我将有一个查询,标记在指定日期/时间之前发生的所有预订,并从java传入2天前的日期。差不多
然后我将所有这些记录添加到历史表中
然后将其从预订表中删除:
在执行该过程之前标记要存档的记录意味着不会有意外删除过短一秒无法复制的记录的风险
在Java中计算后传入日期,可以使sql查询更通用、更可重用
# 3 楼答案
创建一个存储过程以从一个表移动到另一个表
how to call the stored procedure in oracle with the daily scheduled jobs?
在条件添加的地方, trunc(sysdate)-截止日期(“完成日期”、“yyyy-mm-dd”)>;二,
其他选项请参考以下链接:
How can I get the number of days between 2 dates in Oracle 11g?