首先我们有三张表
事务表1
EVENT_TEMP01
(ID,CODE,DESCRIPTION,start_time)
事务表2
EVENT_TEMP02
(ID,CODE,DESCRIPTION,start_time)
时间表
TIME_TEMP01
(ID,start_time,end_time)
三张表
根据时间表的字段的开始时间,与最终时间获取事务表1的录入时间的这短时间的数据,并且这个任务执行完成之后,数据库时间表的内容自动更新为第二天的时间
先创建作业,,
spoon的左上角的新建
然后再打开一个sql文本
我们在sql里面写进去我需要的内容
insert into EVENT_TEMP02(ID,CODE,DESCRIPTION,start_time)
select a.ID,a.CODE,a.DESCRIPTION,a.start_time FROM EVENT_TEMP01 a,TIME_TEMP01 b where a.start_time >= b.start_time and a.start_time <b.end_time;
这个主要就是判断事务表1 与时间表规定时间之内的的数据,并且将查询出来的数据再次加入到事务表2中。
这个表,两表结构都是一样的,所以可以直接传入
这个就是简单的判断并传输,之后我们这个通过之后,我们再完成这个时间的自动更新
我是通过转换这个方式来完成的,主要就是直接更新,运行一次就直接去更新时间
转换就是直接通过这个时间表,来进行获取字段,
新建一个转化就是表的输入
这里我用的是时间表,之后我在用sql脚本来做这个更新同样是sql
update TIME_TEMP01 set start_time='?';
update TIME_TEMP01 set end_time=DATE_ADD(end_time,INTERVAL 1 DAY)
如上是sql语句,注意我在那个地方打的勾,执行每一行与变量替换,我这里需要的是end_time 的字段,
这个上面的start直接获取的就是end_time,这样也方便与第二条语句的更改
最后把这个转换放在job里面,新添加一个开始和结束,先sql文本再转换
执行完成之后我们看我之前的数据是30行
图上是我们的表2,我表1的数据是6条
时间是
现在开始执行
现在我们的数据是
36行,说明成功了,
本人是初学者,有很多地方想的不是很周到,所以请各位前辈多担待!