分享

MySQL存储过程和定时任务

 python_lover 2022-02-18

什么是存储过程

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

 


 

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

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

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

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

存储过程的结构

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

  $ {proceBody} END //

如果你在学习C/C++的过程中遇到了问题,可以来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●)

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也可以将其他符号指定为终止符!

存储过程的管理


 

#查看所有存储过程信息显示程序状态;#删除存储过程删除过程$ {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} ;

简单的例子

每个星期一执行存储过程

 


 

#存储过程(确定今天是否是星期一)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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多