mysql,数据库能自动的定时完成一个命令吗?

mysql,数据库能自动的定时完成一个命令吗?,第1张

mysql要实现定时执行sql语句就要用到Event

具体 *** 作如下:

先看看看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数据库如何启动时自动执行定时任务job

job定时任务需要依托存储过程。

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/6937044.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-30
下一篇2023-03-30

发表评论

登录后才能评论

评论列表(0条)

    保存