
具体 *** 作如下:
先看看看event 事件是否开启
show variables like '%sche%'
如没开启,则开启。需要数据库超级权限
set global event_scheduler =1
创建存储过程 update_a (注:就是你要执行的sql语句)
mysql>create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id)
创建一个定时任务:event e_updateA
mysql>create event if not exists e_updateA
->on schedule every 60 second ---设置60秒执行一次
->on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行
->on completion preserve
->do call update_a() ---执行update_a()存储过程
创建Event之后,sql语句就定时执行一次。
关闭事件任务
mysql>alter event e_updateA ON
->COMPLETION PRESERVE DISABLE
开启事件任务
mysql>alter event e_updateA ON
->COMPLETION PRESERVE ENABLE
oracle数据库如何启动时自动执行定时任务jobjob定时任务需要依托存储过程。
1、创建存储过程:create or replace procedure MYPROC as
begin
insert into TEST values(sysdate)
end
2、创建job
variable job1 number
begin
dbms_job.submit(:job1,'MYPROC',trunc(sysdate+1),'sysdate+1')--从今晚12开始运行,以后每天运行一次
end
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)