如何写一个定时任务要每月的1号01:00执行这个sql

insert into test_dept_monthhours(yearmonth,branch,subtotal) select yearmonth,branch,sum(dm)+sum(sm)+sum(smt)+sum(sup)+sum(ltnc)
from ehruser.HO_DEPT_MONTHHOURS@traininglink where rownum<5 group by branch,yearmonth

1)写一个执行SQL的程序。用java的话,用jdbc、mybatic等都是可以;shelll + 数据库客户端更简单;
2)定时执行。linux下使用crontab配置定时任务; window下的定时可以参考 http://www.360doc.com/content/12/0713/15/6692427_223999490.shtml

你后台数据库用的是什么,一般的数据库管理软件都会提供计划任务的功能, 通常都会叫“作业”

你后台数据库用的是什么,一般的数据库管理软件都会提供计划任务的功能, 通常都会叫“作业”

有两种比较简单的解决方法:
1. 决定于你用什么数据库,一般的数据库都有个作业处理方式,比如SQLserver,里面你找到这个选项,可以建立个新作业,按照提示填写好你的指令就可以了
2.在你的程序中建立一个定时器,比如每一个小时或者一分钟执行一次,判断当前时间,符合条件就执行你的响应的指令!

如果是Linux的话就用shell+程序

用java写一个执行sql的程序,里边也判断一下日期是不是1号,否则别执行,保险起见。

在linux执行crontab -e修改cron任务,增加如下任务。

00 01 01 * * java 你的java类