Mysql 创建储存过程,创建定时器,使用详解

  • 储存过程的使用
  • mysql定时任务使用

1、储存过程创建与使用

  • sql查看当前库所有创建的储存过程,或者借助工具在函数项中查看
	-- 查看当前库中的储存过程
	select * from mysql.proc where db = '库名'  AND  `type` = 'PROCEDURE'  
  • 创建储存过程。CALL调起执行储存过程函数
-- 自定义界定符号的写法示例
-- 储存过程存在则删除
DROP PROCEDURE IF EXISTS procedure_name;
DELIMITER //
CREATE PROCEDURE procedure_name()
	BEGIN
		--  执行的sql
		SELECT NOW();
	END//
DELIMITER;	
-- 执行储存过程
CALL procedure_name();

--  使用mysql默认界定符号写法示例
DROP PROCEDURE IF EXISTS procedure_name;
CREATE PROCEDURE procedure_name()
	BEGIN
		SELECT NOW();
	END;	
CALL procedure_name()
  • DELIMITER 分界符
           mysql默认结束符号是“;”分号,自定义界定符的储存过程写法,是为了将储存过程中sql的;号与mysql识别执行的界定符区分开。
           mysql5.0版本多sql储存过程定义时,不重定义界定符会报错(未验证),mysql 5.7版本中,自定义界定符与否均可以定义多sql储存过程(已验证)。

2、定时器创建与使用

  • mysql定时任务使用相关sql语句
-- 查看mysql是否开启定时任务功能
SHOW VARIABLES LIKE '%event_sche%';
-- 开启定时任务
SET GLOBAL event_scheduler = 1;
-- 关闭定时任务
SET GLOBAL event_scheduler = 0;
-- 查看所有的定时任务
select * from information_schema.`EVENTS`;
  • 定时任务创建,也可以借助Navicat工具创建(事件项)
DROP EVENT IF EXISTS event_name;
CREATE EVENT event_name
-- 每五秒执行一次
ON SCHEDULE EVERY 5 SECOND
DO  -- 需要定时执行的sql,这里是调用储存过程
CALL procedure_name();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值