加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql数据统计脚本模板

发布时间:2020-12-31 17:03:41 所属栏目:MySql教程 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 CREATE DEFINER = `mc`@`10.%.%.%` PROCEDURE `NewProc`(IN v_countDate DATE)BEGIN/* ===========================================================

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

CREATE DEFINER = `mc`@`10.%.%.%` PROCEDURE `NewProc`(IN v_countDate DATE)
BEGIN
/* =======================================================================
	 * 系统名 : **数据平台
	 * 子系统名 : 报告统计-独立IP-TCP连接数(天)
	 * PROC名 : proc_stat_service_idc_ip_tcp_day
	 * 概要 : 每天从mc_stat_trends 按服务器IP统计独立IP TCP连接数的平均值和最大值指标。
	 * 改版履历 :
	 * 版本 日期 作者名 备注
	 * 1.0.1 2015.03.19 #### 初次作成
	 * ======================================================================= */
-- 输入参数变量(v_beginTime:执行开始时间;v_endTime:执行结束时间;v_countDate:查询时间,默认1天前;v_date_type:时间周期)
DECLARE v_beginTime DATETIME DEFAULT NOW();
DECLARE v_endTime DATETIME;		
DECLARE v_date_type VARCHAR(20) DEFAULT 'day';
DECLARE v_status int(11) DEFAULT 1;
DECLARE v_log_title VARCHAR(100) DEFAULT 'proc_stat_service_idc_ip_tcp_day';
-- 游标结果变量
DECLARE r_udate DATETIME;
DECLARE r_date_type VARCHAR(20);
DECLARE r_service VARCHAR(100);
DECLARE r_idc VARCHAR(100);
DECLARE r_ip VARCHAR(100);
DECLARE r_val_max FLOAT(20,2);
DECLARE r_val_avg FLOAT(20,2);
	
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur CURSOR FOR
		SELECT v_countDate AS udate,v_date_type AS date_type,service,idc,ip,AVG(value_avg),MAX(value_max) 
		FROM view_mc_stat_trends WHERE itemname='Established connections' AND DATE(udate)=v_countDate GROUP BY ip;
		-- 将结束标志绑定到游标
                DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET v_status=0;
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
		OPEN cur;
			read_loop:LOOP
			FETCH cur INTO r_udate,r_date_type,r_service,r_idc,r_ip,r_val_avg,r_val_max;
				IF done THEN
						LEAVE read_loop;
				END IF;
				REPLACE INTO mc_stat_service_idc_ip_tcp(udate,date_type,val_avg,val_max) VALUES(r_udate,r_val_max);
				END LOOP;
CLOSE cur;	
-- 结束时间
SET v_endTime = NOW();
-- 添加JOB执行日志
INSERT INTO t_joblog(beginDate,endDate,jobName,jobType,STATUS,haoshi,createDate) VALUES(v_beginTime,v_endTime,v_log_title,'PROCEDURE',v_status,v_endTime-v_beginTime,NOW());
END;

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读