---mysql
/*开启event_scheduler,也可以设置为on*/
set global event_scheduler =1;
/*创建简单的任务,每分钟执行一次,从一个表取数据插入到另一个表,也可以定时取,可以参看下面文档,此处为简单例子*/
CREATE EVENT MyEvent
ON SCHEDULE EVERY 1 MINUTE
DO
INSERT INTO list_test (字段1,字段1,字段1,字段1,字段1) select 字段1,字段1,字段1,字段1,字段1 from 表2 where id = 510;
/*每天固定时间执行*/
CREATE EVENT EVENT_ADD_FOR20_ENOUGH
ON SCHEDULE EVERY 1 DAY
STARTS TIMESTAMP '2009-12-18 02:58:00'/×MYSQL注意时区设置,默认非中国时区×/
DO
SQL语句
---sqlserver
◆1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
◆2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->
描述[填写本次工作详细描述内容];
[ 创建作业分类的步骤:
SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]
◆3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->
数据库[要操作的数据库]->命令
[如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件
如果要执行存储过程,填
exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]
->确定
(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
◆4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->
更改[调度时间表]->确定
(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
◆5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。
跟作业执行相关的一些SQL Server知识:
SQLSERVERAGENT服务必须正常运行,启动它的NT登录用户要跟启动SQL Server数据库的NT登录用户一致。
点作业右键可以查看作业执行的历史记录情况,也可以立即启动作业和停止作业。
---oracle
Oracle数据库的Jobs创建语句如下:
begin
sys.dbms_job.submit(job=>:job,
what=>'proc_yw;',
next_date=>to_date('13-11-200714:00:00','dd-mm-yyyyhh24:mi:ss'),
interval=>'trunc(sysdate)+1+14/24');
commit;
end;
启动Job.
begin
SYS.DBMS_JOB.RUN(:job);
end;
间隔trunc(sysdate)+1+14/24 就是每天下午2点执行一次proc_yw存储过程;
如间隔trunc(sysdate)+1+33/48就是每天下午4:30时执行一次
oracle数据库的定时Jobs作业(工作) 的使用:
通过jobs的使用就能实现每天或每月的指定时间执行一个函数、过程与命令。