手动执行mysql存过_Navicat 创建mysql存过、定时执行存过

创建存过:

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

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

fdef228d23fc020e6a80f7268953ae7e.png

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

32dc3c2f99f5f9b8a9ae2739f62d3ad1.png

3.编写存储过程:

7a32ba3f8f2e09fb276a8417ff63c96f.png

代码如下:

Sql代码

BEGIN

/* 定义变量 */

declare tmp0 VARCHAR(1000);

declare tmp1 VARCHAR(1000);

declare done int default -1;  -- 用于控制循环是否结束

/* 声明游标 */

declare myCursor cursor for select cell_0,cell_1 from t_test;

/* 当游标到达尾部时,mysql自动设置done=1 */

declare continue handler for not found set done=1;

/* 打开游标 */

open myCursor;

/* 循环开始 */

myLoop: LOOP

/* 移动游标并赋值 */

fetch myCursor into tmp0,tmp1;

-- 游标到达尾部,退出循环

if done = 1 then

leave myLoop;

end if;

/* do something */

-- 循环输出信息

select tmp0,tmp1 ;

-- 可以加入insert,update等语句

/* 循环结束 */

end loop myLoop;

/* 关闭游标 */

close myCursor;

END

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

48221e05e5cf22a4721beb6e2f3cc1fa.png

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

f8574b8addcb034a4794dad64e9a0bab.png

1.事件定义填写

6492682a580235bd568062191945b97b.png

2.事件计划设置

539f65a4ba142d328ed8c2abbe81748a.png

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;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值