mysql存储过程和定时调用
1、创建存储过程
1 create procedure proc_name() 2 begin 3 sql; 4 end
sql为定时值执行的代码,比如,定时向表里插入当前时间:INSERT into table(times) VALUES(NOW());;然后通过事件调度来定时执行该存储过程。
2、创建触发事件
1 create event if not exists event_name 2 on schedule every 30 second 3 on completion preserve 4 do call proc_name()
创建一个事件调度,在该事件调度完成后,每30秒执行调用存储过程一次。若只想让存储过程在某个时间只执行一次,则把preserve改为not preserve。
3、查看event是否开启
1 show variables like ‘%sche%‘
4、将事件计划开启
1 set global event_scheduler=1;
全局事件调度开关,1为开,0为关。
5、开启事件任务
1 alter event event_name on completion preserve enable;
打开指定的事件调度开关
6、关闭事件任务
1 alter event event_name on completion preserve disable;
关闭指定的事件调度开关
7、查看数据库所有的存储过程
1 SELECT * FROM mysql.proc
查看数据库的所有存储过程,在mysql安装完后,就默认安装有一个叫mysql的数据库,里面有一个表叫proc,通过查看这个表也可以查询数据库的所有存储过程。
8、查看数据库里所有的存储过程+内容
1 show procedure status;
9、查看存储过程或函数的创建代码
1 show create procedure you_proc_name;
10、删除存储过程
1 drop procedure proc_name;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。