MySQL 存储过程 定时任务
drop procedure if exists move_track_data;
delimiter //
create procedure move_track_data()
begin
declare i int default 0;
start transaction;
set i = 1;
case
when i = 1 then
select 'is 1';
when i = 2 then
select 'is 2';
else
select 'is 3';
end case;
commit;
end;
// call move_track_data();
delimiter ;
select * from score_driving_track where trackid in( select trackid from score_driving_track where trackid % 10 = 1); insert into score_driving_track_0 select * from score_driving_track where trackid in( select trackid from score_driving_track where trackid % 10 =0); ####################################################################################################3 set time_zone = '+8:00';
set GLOBAL event_scheduler = 1;
use test;
drop event if exists upload_to_sdmp;
DELIMITER //
create event upload_to_sdmp
on schedule every 1 week starts timestamp '2015-10-12 02:00:00'
do call move_score_driving_track_data(); drop procedure if exists move_score_driving_track_data;
delimiter //
create procedure move_score_driving_track_data()
begin
declare i int default 0;
declare t_error integer default 0;
declare continue handler for sqlexception set t_error = 1;
start transaction;
set i = 0;
while i < 10 do
set @sqlTrackids = concat('select group_concat(distinct trackid) into @trackids from score_driving_track where trackid % 10 = ', i);
select @sqlTrackids;
prepare sqlTrackidsNormal from @sqlTrackids;
execute sqlTrackidsNormal;
select @trackids; set @sqlInsert = concat('insert into score_driving_track_', i, ' select * from score_driving_track where find_in_set(trackid, ''', @trackids, ''')');
select @sqlInsert;
prepare sqlInsertNormal from @sqlInsert;
execute sqlInsertNormal; set @sqlDelete = concat('delete from score_driving_track', ' where find_in_set(trackid ,''', @trackids, ''')');
select @sqlDelete;
prepare sqlDeleteNormal from @sqlDelete;
#execute sqlDeleteNormal; set i = i + 1;
end while;
if t_error = 1 then
rollback;
else
commit;
end if;
end;
//
call move_score_driving_track_data();
SELECT @@global.sort_buffer_size; select * from score_driving_track where trackid >= 2270;
select * from score_driving_track_0;
select * from score_driving_track_1;
select * from score_driving_track_2;
select * from score_driving_track_3;
select * from score_driving_track_4;
select * from score_driving_track_5;
select * from score_driving_track_6;
select * from score_driving_track_7;
select * from score_driving_track_8;
select * from score_driving_track_9; delete from score_driving_track_0;
delete from score_driving_track_1;
delete from score_driving_track_2;
delete from score_driving_track_3;
delete from score_driving_track_4;
delete from score_driving_track_5;
delete from score_driving_track_6;
delete from score_driving_track_7;
delete from score_driving_track_8;
delete from score_driving_track_9; SET GLOBAL group_concat_max_len=1024000; show variables like "group_concat_max_len";
##################################################################################### call move_score_driving_track_data();
SELECT @@global.sort_buffer_size; SET GLOBAL group_concat_max_len=1024000; show variables like "group_concat_max_len"; select group_concat(distinct trackid) from score_driving_track where trackid % 10 = 0;
SELECT @@global.group_concat_max_len;
show warnings;
#[mysqld]
#explicit_defaults_for_timestamp=true
#group_concat_max_len=102400
select distinct trackid from score_driving_track where trackid % 10 = 0; select group_concat(distinct trackid) from score_driving_track where trackid % 10 = 0 and trackid < 50; delimiter ;
select concat('score_driving_track_', 1); select * from score_driving_track_0; delete from score_driving_track_0; ##############################################################################
set time_zone = '+8:00';
set GLOBAL event_scheduler = 1;
use test;
drop event if exists upload_to_sdmp;
DELIMITER //
create event upload_to_sdmp
on schedule every 1 second #starts timestamp '2014-07-30 10:00:00'
do
begin
insert into b values(3,'');
insert into b values(2,'');
end
//
DELIMITER ; select * from b; select group_concat(trackid) into @temp from score_driving_track where trackid < 100;
select @temp;
select * from score_driving_track where find_in_set(trackid, @temp);
select REPLACE(@temp,'''''''',''); select CHAR_LENGTH(@temp)-CHAR_LENGTH(REPLACE(@temp,'','')) + 1; select * from score_driving_track where trackid in (select group_concat(trackid) from score_driving_track where trackid < 50); select * from score_driving_track where find_in_set(trackid, (select group_concat(distinct trackid) from score_driving_track where trackid < 50)); select * from users;
MySQL 存储过程 定时任务的更多相关文章
- Mysql 存储过程+定时任务,完成分区自动维护
建表: drop table if exists terminal_parameter; CREATE TABLE `terminal_parameter` ( `terminal_parameter ...
- 如何写mysql的定时任务
什么是事件: 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 查看是否开启: show variables li ...
- Mysql编写定时任务事件
原文:Mysql编写定时任务事件 场景: 例如:某系统,用户每天只能拥有一次的抽奖机会,抽过后当天就不可再抽,但是过了24:00点后用户就重新拥有一次抽奖机会.像这种需要数据库定时对某个字段进行更新操 ...
- MySQL job/定时任务/event 学习
参考文章: https://blog.csdn.net/qq_21108311/article/details/82589850 https://blog.csdn.net/qq_27238185/a ...
- MySQL存储过程(转)
一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b" ...
- MySql存储过程
MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF ...
- mysql存储过程和存储函数
mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...
- mysql存储过程编写-入门案例-遁地龙卷风
(-1)写在前面 这篇文章只是简要的叙述了mysql存储过程编写的基本概念. 我使用的mysql版本是5.7.9-log. 参照<<深入浅出MySQL>>. (0) delim ...
- MySQL存储过程动态SQL语句的生成
用Mysql存储过程来完成动态SQL语句,使用存储过程有很好的执行效率: 现在有要求如下:根据输入的年份.国家.节假日类型查询一个节假日,我们可以使用一般的SQL语句嵌入到Java代码中,但是执行效率 ...
随机推荐
- Action类中获取request等对象的方法
struts2中的action类中,SevletActionContext可以获取
- 【BZOJ2595】游览计划(状压DP,斯坦纳树)
题意:见题面(我发现自己真是越来越懒了) 有N*M的矩阵,每个格子有一个值a[i,j] 现要求将其中的K个点(称为关键点)用格子连接起来,取(i,j)的费用就是a[i,j] 求K点全部连通的最小花费以 ...
- C语言学习笔记(一)_hello world
一.建立一个文件a.c,写入: #include <stdio.h> //使用printf库函数之前,必须include <stdio.h>int main()//main函数 ...
- WINDOWS的NTP配置
将下面内容复制到记事本,保存成ntp.bat net stop w32Time REG ADD HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeP ...
- db2 进程
DB2 通用数据库进程全接触 Dwaine Snow, DB2 UDB 和 Informix IDS 产品经理, IBM 多伦多实验室 Dwaine Snow 是 DB2 UDB 分区数据库以及查询巡 ...
- rm: Argument list too long
rm -rf /testdir/* -bash: /bin/rm: Argument list too long 解决: cd /testdir/; ls | xargs rm -rf
- uglifyjs压缩JS的
一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基 ...
- c++实战吐槽(我还是太年轻了)
习惯了用java, 现在切换到c++遇到了一些很滑稽的问题, 特此记录. 一. 使用了野指针 都知道不能使用野指针, 指针定义后,要初始化为null, 我在项目里面默认构造函数里面确实初始化为null ...
- 编写出色的GNU/Linux程序
http://advancedlinuxprogramming.com提供了本书电子版的免费下载. 1 与执行环境交互 关于参数 C语言程序的main()函数使用两个参数和执行环境交互--(int)a ...
- (Python) 安装、基本语法
从今天起,我将开启python学习模式,并用博客记录学习的过程和相关知识点 1.Python下载安装 可以在官网:https://www.python.org/downloads/ 中下载各种版本的P ...