最近在看MySQL数据库,结合Oracle的job,写了一个MySQL的job例子,大家可以借鉴下,互相学习
实例说明:
例子中有两个表,一个是t_org,利用event,每隔2分钟插入三个随即整数;另一个表t_tempsums,利用event调用存储过程,每隔4分钟,将表t_org的数据按列求和,将统计数据插入到表中
实现步骤:
1. 创建表t_org,t_tempsums
Use mdb;
Create table t_org(id int not null aotu_increment,v1 int,v2 int, v3 int,primary key(id));
Create table t_ tempsums (id int not null aotu_increment,v1sum int,v2sum int, v3sum int,primary key(id));
2. 创建操作表t_org的事件t_org_insert
Delimiter //
Create event t_org_insert
On schedule
Every 2 minute
Starts now()
Do
Begin
Insert into t_org(v1,v2,v3) values(round(rand()*10),round(rand()*10),round(rand()*10));
End//
3. 创建操作表t_tempsums的存储过程t_sum
Delimiter //
Create procedure t_sum
Begin
Declare v1sum int default 0;
Declare v2sum int default 0;
Declare v3sum int default 0;
Declare sum1 int default 0;
Declare sum2 int default 0;
Declare sum3 int default 0;
Declare flag int default 0;
Declare cur1 cursor for select v1,v2,v3 from t_org;
Declare continue handler for sqlstate '02000' set flag = 1;
Open cur1;
Fetch cur1 into v1sum,v2sum,v3sum;
While(flag !=1) do
Set sum1 = sum1+v1sum;
Set sum2 = sum2+v2sum;
Set sum3 = sum3+v3sum;
Fetch cur1 into v1sum,v2sum,v3sum;
End while;
Insert into t_tempsums(v1sum,v2sum,v3sum) values(sum1,sum2,sum3);
Close cur1;
End//
4. 创建运行存储过程t_sum的事件t_tempsums_sums
Create event t_tempsums_sums
On schedule
Every 4 minute
Starts now()
Do
Begin
Call t_sum();
End//
补充:忘了说一句,大家按照例子做完以后,可能发现没有运行event,原因大都是因为event_scheduler状态没打开
查看event_scheduler状态
show variables like '%sche%';
修改event_schedule状态
set global event_scheduler=1;
分享到:
相关推荐
mysql存储过程实例详细介绍了mysql存储过程的开发步骤
MySQL存储过程实例教程,MySQL存储过程实例教程
java 调用 mysql存储过程实例
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
MySQL存储过程学习 MySQL存储过程 MySQL存储过程
mysql经典教程+mysql存储过程讲解 重点讲解Mysql的存储过程,触发器,游标的使用 对mysql不太熟的朋友可以好好学习。。。
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
PHP和MySQL存储过程实例 concat联合多例: select concat(user,":",jtsr) from jtsr;
给了一个小的mysql 存储过程的例子。同时给出了一个在pb9中调用的例子.本例子是给出的mysql8.0的存储过程。对于5.7一下的现在odbc很难有支持
本文实例讲述了mysql存储过程之错误处理。分享给大家供大家参考,具体如下: 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息。其中mysql提供了一种简单的...
MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程
详细地介绍MYSQL命令行下,编写存储过程以及存储过程的调用,附带分页存储过程的详细代码,本人已经测过。
本文实例讲述了mysql存储过程之case语句用法。分享给大家供大家参考,具体如下: 除了if语句,mysql提供了一个替代的条件语句CASE。 mysql的 CASE语句使代码更加可读和高效。废话不多说,我们先来看下简单case语句的...
mysql存储过程 mysql存储过程 mysql存储过程 mysql存储过程