mysql 存储过程 定时_MySQL存储过程和定时任务

什么是存储过程

存储例程是存储在数据库服务器上的一组sql语句,这些语句通过在查询中调用指定的名称来执行。

fe3eca3e923584af869c3482710621d0.png

存储过程是存储在数据库中的一组SQL语句

存储过程是mysql中定义的方法

可以通过调用方法名称来调用更改的方法

存储过程关联既是数据库又是模式

存储过程的结构

DROP PROCEDURE IF EXISTS $ {pROCeName} ;分隔符//创建过程$ {pROCeName} ()(  [$ {参数类型}] $ {参数名称} $ {参数类型})BEGIN

$ {pROCeBody} END //

DELIMITER ;#执行PROC()存储过程CALL $ {pROCeName}();

如何使用

#定义一个简单的存储过程#首先确定是否有一个PROC()存储过程,然后滴落DROP PROCEDURE IF EXISTS PROC;#创建PROC()存储过程/ *方法说明-@author:$ {Author}-@date:$ {Time}-@param:int-$ {参数名称}-参数说明-@return:具体信息* /分隔符//CREATE PROCEDURE PROC()

BEGIN SELECT * FROM用户; 结束//定界符;#执行PROC()存储过程调用PROC();

请注意,“ DELIMITER //”语句的目的是将MYSQL的终止符设置为//,因为MYSQL的默认语句终止符是分号。为避免与存储过程联系,

冲突的SQL语句终止符需要DELIMITER更改存储过程的终止符并以END //结束存储过程。

定义存储过程后,将使用DelIMITER;恢复默认终止符。DELIMITER也可以将其他符号指定为终止符!

存储过程的管理062308378e0c1ab7405113ec87685243.png

#查看所有存储过程信息显示程序状态;#删除存储过程删除过程$ {pROCedureName} ;#查看存储过程的内容信息显示创建过程$ {pROCedureName};

定时任务管理

#定时任务是否开启显示变量,例如'%event_sche%';#打开计时器任务(开始生效)#修改Profile / etc / my.conf

event_scheduler = ON #打开计时器任务(重新启动失败)SET GLOBAL event_scheduler = 1 ;#关闭计时器任务(重新启动失败)SET GLOBAL event_scheduler = 0 ;

#查看所有定时任务信息演出活动;#定时任务结构

#创建一个定时任务(例如)创造学习EVENT IF NOT EXISTS $ {eventName的} ON每隔SCHEDULE 30第二个

#Execute每30秒开竣工PRESERVE  #Eve在定时器任务后,设置为禁用完成后,如果维护的是之前添加是不删除DO CALL $ {pROCedureName}();

#启动一个定时任务ALTER EVENT $ {evenName} ENABLE;    #关闭定时任务ALTER EVENT $ {evenName} DISABLE;  #删除定时任务DROP EVENT IF EXISTS $ {evenName} ;

简单的例子

每个星期一执行存储过程

ea2e933a34375eff69c48df53d3c923b.png

#存储过程(确定今天是否是星期一)DELIMITER // CREATE PROCEDURE p_clear_author_rank_integral ()BEGIN DECLARE weed_index INT DEFAULT 0; SET weed_index = dayofweek(now());

如果weed_index = 2然后

更新用户集rank_integral = 0 ,其中author.id!= 0 ;

结束IF ;结束//定界符;#定时任务(每天)蜡膏EVENT IF NOT EXISTS e_clear_author_rank_integral

ON SCHEDULE每1天ON COMPLETION PRESERVE

DO CALL p_clear_author_rank_integral();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值