码迷,mamicode.com
首页 > 数据库 > 详细

Navicat 创建mysql存过、定时执行存过

时间:2019-06-27 16:12:43      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:循环输出   some   函数标签   ble   col   event   font   mamicode   details   

 

创建存过:

使用Navicat for MySQL工具创建存储过程步骤:

1. 新建函数(选择函数标签 -> 点击新建函数):

 技术图片

2.输入函数的参数个数、参数名、参数类型等:

技术图片

3.编写存储过程:

技术图片

 代码如下:

Sql代码  

  1. BEGIN   
  2. /* 定义变量 */  
  3. declare tmp0 VARCHAR(1000);  
  4. declare tmp1 VARCHAR(1000);  
  5. declare done int default -1;  -- 用于控制循环是否结束  
  6. /* 声明游标 */    
  7. declare myCursor cursor for select cell_0,cell_1 from t_test;    
  8. /* 当游标到达尾部时,mysql自动设置done=1 */       
  9. declare continue handler for not found set done=1;    
  10. /* 打开游标 */    
  11. open myCursor;    
  12. /* 循环开始 */    
  13. myLoop: LOOP    
  14. /* 移动游标并赋值 */    
  15. fetch myCursor into tmp0,tmp1;    
  16. -- 游标到达尾部,退出循环  
  17. if done = 1 then     
  18. leave myLoop;    
  19. end if;    
  20. /* do something */    
  21. -- 循环输出信息  
  22. select tmp0,tmp1 ;  
  23. -- 可以加入insert,update等语句  
  24. /* 循环结束 */    
  25. end loop myLoop;    
  26. /* 关闭游标 */    
  27. close myCursor;    
  28. END  

4.保存(请输入合法名称):

技术图片

5.运行存储过程(在结果1,2,3...中可以查询输出信息):

 技术图片

设置定时计划执行存储过程

1.事件定义填写

 技术图片

2.事件计划设置

 技术图片

3.保存

点击上方保存即可

常见问题:

   navicat for mysql 创建事件的时候,保存时弹出提示“事件计划已关闭。事件只能在服务器启动并开启事件计划时才能处理。

解决方法:

检查一下MYSQL的和系统变量 event_scheduler 

show variables like ‘event_scheduler ‘;

从你的描述看来应该是没有打开。 set global event_scheduler=on; 打开这个设置。

打开的event_schedulerSQL:

SET GLOBAL event_scheduler = ON;

SET @@global.event_scheduler = ON;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1

 

关闭的event_schedulerSQL:

SET GLOBAL event_scheduler = OFF;

SET @@global.event_scheduler = OFF;

SET GLOBAL event_scheduler = 0;

SET @@global.event_scheduler = 0;

 

Navicat 创建mysql存过、定时执行存过

标签:循环输出   some   函数标签   ble   col   event   font   mamicode   details   

原文地址:https://www.cnblogs.com/renshengruxi/p/11097614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!