- 浏览: 68798 次
- 性别:
- 来自: 南京
文章分类
最新评论
#处理采集数据
DROP PROCEDURE IF EXISTS do_collect_price;
CREATE PROCEDURE do_collect_price()
BEGIN
DECLARE flag INT DEFAULT 0;#声明游标循环标识
DECLARE now_time INT DEFAULT UNIX_TIMESTAMP();#声明游标循环标识
DECLARE start_time int DEFAULT UNIX_TIMESTAMP(date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now())-1 day),interval 1 month));
DECLARE end_time int DEFAULT UNIX_TIMESTAMP(date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month));
DECLARE percent FLOAT DEFAULT 0.1;#去除最高最低价格百分比
DECLARE date_time char(8) DEFAULT extract(year_month from NOW());#当前年份月份201310
DECLARE num int DEFAULT 0;#总数
DECLARE t_cut int DEFAULT 0;#需要去掉的价格一半
DECLARE t_total int DEFAULT 0;#有效价格总数
DECLARE temp_Price DECIMAL(18,4);
DECLARE tMaterialID char(30);
DECLARE tMaterialName char(250);
DECLARE tMaterialUnit char(150);
DECLARE tMaterialFormat char(150);
DECLARE cur CURSOR FOR SELECT MaterialID,MaterialName,MaterialUnit,MaterialFormat,count(MaterialID) as num FROM collect_price WHERE add_time > start_time AND add_time < end_time GROUP BY MaterialID,MaterialName,MaterialUnit,MaterialFormat;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag=1;
OPEN cur;
#删除jcj_price当月价格包信息
DELETE FROM jcj_price WHERE PriceMonth = date_time;
#删除pricepacklist可用期间信息
DELETE FROM pricepacklist WHERE packid = 1020 and packmonth = date_time;
FETCH cur INTO tMaterialID,tMaterialName,tMaterialUnit,tMaterialFormat,num;
WHILE flag <> 1 DO
IF num < 3
THEN
select avg(MaterialPrice) from (select MaterialPrice from collect_price where add_time > start_time and add_time < end_time and MaterialID=tMaterialID and MaterialName=tMaterialName and MaterialUnit=tMaterialUnit and MaterialFormat=tMaterialFormat) p INTO temp_Price;
ELSE
SET t_cut = ROUND(num*percent);
SET t_total = num - 2*t_cut;
select avg(MaterialPrice) from (select MaterialPrice from collect_price where add_time > start_time and add_time < end_time and MaterialID=tMaterialID and MaterialName=tMaterialName and MaterialUnit=tMaterialUnit and MaterialFormat=tMaterialFormat order by MaterialPrice asc limit t_cut,t_total) p INTO temp_Price;
END IF;
insert into jcj_price(MaterialID,PriceMonth,Price,MaterialName,MaterialUnit,MaterialFormat)values(tMaterialID,date_time,temp_Price,tMaterialName,tMaterialUnit,tMaterialFormat);
FETCH cur INTO tMaterialID,tMaterialName,tMaterialUnit,tMaterialFormat,num;
END WHILE;
insert into pricepacklist(packid,packmonth,packver,packname,periodtype,enabled)values(1020,date_time,1,'',1,0);
#备份收集数据
#SELECT * INTO collect_price_bakup FROM collect_price WHERE add_time > start_time and add_time < end_time;
#DELETE FROM collect_price WHERE add_time > start_time and add_time < end_time;
CLOSE cur;
END
#call pricepack.do_collect_price()
转载自:http://www.9958.pw/post/mysql_procedure
发表评论
-
项目管理之如何控制项目进度和质量
2016-07-16 22:37 606控制项目进度和质量首先在整体上要有一个合理清晰的流程,并且在整 ... -
15 个非常棒的 CSS3 效果教程
2016-07-03 20:42 5881. 创建一个漂亮的图标 这个教程将教你如何用纯 C ... -
前20名的不安全密码(需要避免)
2016-07-01 21:41 514下图举例说明了一些人们作出选择密码时最常用的错误,以及如何使你 ... -
js实现图片放大缩小后进行的复杂排序
2016-06-30 21:57 584首先,我们来讲下需求: 1.图片分为大小和小图,大图占四个小 ... -
史上最全ajax(原生JS,javascript版,非jquery)详细注释!
2016-06-29 22:31 810史上最全ajax详细注释!(原生JS,javascript版, ... -
php千万级pv架构经验分享
2016-06-28 22:04 1294转载自:http://www.9958.pw/post/ph ... -
ecshop 时间问题请注意 /data/config.php
2016-06-27 22:43 866ecshop 处理时间,绕来绕去, 后台的时区设置, 并非以 ... -
目前比较流行的二维码的生成
2016-06-26 23:55 584最近比较流行二维码,自己百度了一下发现有一个很不错的实现方法使 ... -
如何阻止移动设备(手机,pad)浏览器双击放大网页?
2016-06-24 22:29 1214现在的手机或平板电脑等移动设备上的浏览器默认都有双击放大的设置 ... -
PHP解决Xss跨域攻击以及sql注入等危险字符串方案类库
2016-06-19 21:45 778由于该模块在项目中的要求是 不能提示任何信息,也不作断点操作, ... -
网站敏感骂人词库及算法(附6仟个敏感词)
2016-06-16 22:07 5885原文:「我今天开着张三丰田去上班 」 strtr:「我今天开 ... -
jQuery制作元素在屏幕中水平垂直居中效果
2016-06-14 21:56 599jQuery.fn.center = function () ... -
纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
2016-06-11 21:32 9761、正方形 CSS代码如下: #square { widt ... -
分享一个JQuery写的点击上下滚动的小例子
2016-06-08 22:00 502效果图 演示地址 源码下载 <!--more--> ... -
精美的国外扁平化网页设计作品
2016-06-05 16:02 598Who Wanna <!--more--> ... -
提交您的博客到各大网站
2016-06-03 21:04 381各大搜索引擎网站登录入口: Google收录入口:http:/ ... -
推荐7个 CSS3 制作的创意下拉菜单效果
2016-06-02 22:15 4011. 使用 jQuery 和 CSS3 制作向下滑动的导航菜单 ... -
Dev Http Client(Chrome的HTTP插件)
2016-05-31 22:34 754Dev Http Client(Chrome的HTTP插件) ... -
好的用户界面-界面设计的一些技巧
2016-05-29 16:24 4021 尽量使用单列而不是 ... -
项目组制定的一份页面优化指南
2016-05-27 21:40 3631.文档声明 文档声明必须置于网页的HTML部分的最开始,标签 ...
相关推荐
在这个主题中,"linux环境下mysql存储过程开启定时任务,bing log.rar" 文件可能包含了关于如何在Linux系统中利用MySQL的存储过程创建定时任务,以及如何记录和分析这些任务日志(bing log)的详细步骤。 首先,让...
在定时任务中,它通常用于存储和查询数据,例如记录任务执行状态、时间戳等。 `Maven`是项目管理和构建工具,它管理项目的依赖关系,提供了一套标准的方式来构建和打包Java项目。在本例中,Maven将帮助我们整合所有...
本项目“analyData”就是一个使用Java实现的定时任务,它的主要功能是定期调用MySQL数据库中的存储过程,以执行数据分析或处理任务。下面我们将深入探讨这个项目涉及到的关键知识点。 1. **Java定时任务**: Java...
此外,实现动态定时任务通常需要依赖一些数据库操作的库,比如这里使用的是Mybatis,它是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射。Mybatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果...
本话题聚焦于如何使用Python来创建定时任务,并将解析XML报文的数据存储到MySQL数据库中。这一过程涉及到多个知识点,包括Python的定时任务库如APScheduler、XML处理库如ElementTree,以及与MySQL数据库交互的库如...
- 定期任务:结合事件调度器,存储过程可用于执行定时任务,如定期备份或清理过期数据。 10. **存储过程的调试** Navicat等工具提供了存储过程的调试功能,可以设置断点,逐行执行,查看变量值,便于定位问题。 ...
总结来说,MySQL的定时执行脚本功能通过`EVENT`对象提供了强大的定时任务能力,允许开发者按需设置执行频率,执行各种SQL操作,包括数据更新、备份、清理等。这不仅提高了效率,也降低了系统的复杂性。通过熟练掌握...
同时,它支持存储过程、动态SQL以及自定义SQL的编写,灵活性很高。 **Quartz库** Quartz是一个开源的作业调度框架,它允许开发者安排和执行周期性的任务。Quartz支持多种调度策略,如简单的触发器、cron触发器等,...
本案例通过编写一个MySQL存储过程,并利用事件功能来实现这一需求。 #### 1.2 技术选型 - **MySQL**:作为数据库管理系统,用于存储岗位信息。 - **存储过程**:一种SQL代码块,可以接受输入参数,执行复杂的逻辑...
实现mysql 每天定时自动给数据库表追加分区,包含存储计划和存储过程
MySQL数据库的自动定时备份是数据库管理中的重要...综上所述,设置MySQL的自动定时备份涉及到`mysqldump`的使用、任务调度器的配置以及备份文件的管理和命名策略。通过合理规划,你可以确保数据库安全并随时可以恢复。
mysql,定时任务,实现sql,包括建表语句,创建sql函数语句,创建事件语句,完整的一套sql语句
在Linux环境中,MySQL数据库系统的定时任务执行是数据库管理员和运维人员常常需要面对的任务。本文将详细介绍两种实现MySQL定时任务的方法,一种是通过MySQL自身的Event Scheduler,另一种是利用Linux的Cron Job。 ...
利用Linux的`cron`服务设置定时任务,例如每天凌晨1点运行备份脚本。在`crontab -e`命令中添加如下行: ``` 0 1 * * * /path/to/your/backup_script.sh > /dev/null 2>&1 ``` 这行命令会在每天的1点0分执行备份...
本篇文章将深入探讨如何在Spring Boot 2.1.6版本中配置和管理定时任务,并实现任务的集群部署以及任务的持久化存储到MySQL数据库。 **一、Spring Boot定时任务** 1. **@Scheduled注解**:Spring Boot提供了对定时...
Azkaban 定时任务系统配置与运行详解 Azkaban 是一个开源的定时任务系统,用于管理和执行定时任务。下面将详细介绍 Azkaban 的配置和运行过程。 一、创建 Azkaban 用户 在 Linux 系统中,需要创建一个名为 ...
### MySQL定时远程备份知识点 #### 一、MySQL定时备份...综上所述,通过编写批处理脚本和创建Windows计划任务,可以实现MySQL数据库的定时远程备份。这种方法简单有效,适用于大多数中小型企业环境中的数据备份需求。
该压缩包里面包括了一份MySQL存储过程的培训ppt文档和一份演示时所用的sql脚本。当然,部分涉及到业务的表和字段可能需要你们自己进行相关修改。还有就是可能文档中会出现错误,记得当时培训的时候出现了一个,当时...
综上所述,通过Spring Cloud Schedule和MyBatis,我们可以方便地构建出按间隔时间或固定时间执行的定时任务,实现对MySQL数据库的高效读写。在实际开发中,可以根据业务需求灵活调整任务的执行策略,确保系统的稳定...
mysql的定时job的一个简单应用,采用mysql存储过程的调用方式执行任务。该任务中涉及到使用游标来完成多个update执行过程。