ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL存储过程和定时任务

2020-12-21 19:04:43  阅读:330  来源: 互联网

标签:存储 Proc 终止符 任务 MySQL 定时 过程


什么是存储过程

存储例程是存储在数据库服务器上的一组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();

 

标签:存储,Proc,终止符,任务,MySQL,定时,过程
来源: https://blog.csdn.net/weixin_45713725/article/details/111485485

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有