使用定时器调用mysql的存储过程 -- navicat客户端

1.使用游标创建存储过程

SQL创建:

create PROCEDURE daily_max_avg_online()
BEGIN
declare max_online int;
declare avg_online int;
declare time TIMESTAMP;
declare cur cursor for
select MAX(online_num),round(avg(online_num)),
DATE_FORMAT(statistical_time ,'%y-%m-%d')
from real_time_online_statistics
group by DATE_FORMAT(statistical_time ,'%y-%m-%d');

open cur;
cur:loop
FETCH cur into max_online,avg_online,time;

insert into daily_max_avg_online_statistics(id,max_online_num,avg_online_num,statistical_time)
values(UUID(),max_online,avg_online,time);
end loop cur;
close cur;

END;

Navicat创建:

1,.点击数据库中的函数 --> 新建函数

2.一路点击完成,进入创建存储过程的界面

3.保存(Ctrl+S)  -- > 输入存储过程名称  -->  完成存储过程的创建

2.创建定时器调用存储过程

1.点击事件 --> 新建事件 --> 进入界面  --> 填写需要定时调用的存储过程

2.设置定时任务   --  这里设置每天一次,开始时间为 2014-12-04 15:08:00

3.要使定时起作用MySQL的常量GLOBAL event_scheduler必须为on或者是1

-- 查看是否开启定时器

SHOW VARIABLES LIKE ‘%event_scheduler%‘;

-- 开启定时器 0:off 1:on

SET GLOBAL event_scheduler = 1;

或    SET GLOBAL event_scheduler = ON;

Over

时间: 2024-10-18 10:00:38

使用定时器调用mysql的存储过程 -- navicat客户端的相关文章

调用MySql 分页存储过程带有输入输出参数

1 Create PROCEDURE getuser 2 ( 3 IN pageIndex INT, 4 IN pageSize INT, 5 OUT count INT 6 ) 7 8 BEGIN 9 declare pindex int DEFAULT (pageIndex-1)*pageSize; 10 11 select * from lc_user order by id LImit pindex,pageSize; 12 13 SELECT COUNT(id) INTO count

使用shell脚本调用mysql数据库存储过程,并设置定时任务

本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash#0 1 * * * sh /home/drmTrans3/rj_proc.shhost1=127.0.0.1user=systempasswd=linuxport=3306mysql -h${host1} -u${user} -p${pas

微软企业库5.0 调用 MySql 分页存储过程

1.需要完成两个前置条件后才可以使用 微软企业库5.0 调用 MySql 存储过程 微软企业库5.0 支持 MySql MySql 分页存储过程 2.需要添加一个继承 IParameterMapper 接口的类分配查询参数 using System.Data; using System.Data.Common; using Microsoft.Practices.EnterpriseLibrary.Data; using Grass.Extend; namespace Grass.MySqlDa

C语言调用mysql的存储过程

本篇文章讲解C语言调用mysql数据库的存储过程的方法 下面假设有一张sc表,保存学生选课记录,有课程号,学号,平时分,卷面分,总分. 建立数据库表过程: create table class( cno varchar(8) not null, sno varchar(8) not null, ordinary_score int, last_score int, all_score int ); 存储过程 由括号包围的参数列必须总是存在.如果没有参数,也该使用一个空参数列().每个参数 默认都

mybatis调用mysql的存储过程(procedure),实现查询操作(student表中的某个年级中的总人数 select (1) 或者 select (*))

step1:在mysql cmd中新建存储过程: drop procedure if exists queryCountByGrade ; delimiter // -- 定义存储过程结束符号为// create procedure queryCountByGrade(IN gradenameinput INT(11),OUT counts int(11) begin select count(*) into counts from student where grade = gradename

java 调用mysql的存储过程(简单示例)

首先我在mysql的test数据库里定义了一个student表: create table student4( id   int   primary key, sanme char(5) ); 插入几个数据做测试用: inset into student values(1,'mayi'); inset into student values(2,'mayi'); inset into student values(3,'mayi'); 建立存储过程: in 型: delimiter // cre

Golang 用go-sql-driver 调用MySQL存储过程时的问题排查

今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错.本文对这个错误及其解做一个简单的总结. 1 问题描述 按照go中sql包提供的接口,应用层代码调用MySQL存储过程的代码一般如下所示: result, err := dbh.Exec("call some_procedure(?, ?)", param1, param2) if err != nil { // error handler } // using result...

Java调用MySQL存储过程

Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; +------+-------------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------

Linux环境下Shell调用MySQL并实现定时任务

对于一些周期性事务,我们可以在Linux下,使用shell脚本调用mysql数据库存储过程,并设置定时任务. 本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash # 50 8 * * * sh /home/bgop/hao/detector_task.sh > /dev/null 2>&1 &