狠狠撸

狠狠撸Share a Scribd company logo
存储过程:

两个两个不同的数据库 info,infoLog, 记录每一天不同的网络设备不同的 IP 产生的各种流量,从一个表中获取
这些记录并插入到一个表中。

使用 INSERT...SELECT,可以快速地从一个或多个表中向一个表中插入多个行。

DELIMITER ;;

CREATE DEFINER=`root`@`%` PROCEDURE `prc_ipflow_daily`()

insert into report_ipflow_daily (

machine_id

,ip

,Log_time

,total

,ftp

,smtp

,http

,pop3

,imap

) SELECT ipflow.Machine_id,

INET_NTOA(ipflow.ip),

       DATE_FORMAT(ipflow.Log_time, '%Y-%m-%d'),

       sum(ipflow.total),

       sum(ipflow.ftp),

       sum(ipflow.smtp),

       sum(ipflow.http),

       sum(ipflow.pop3),

       sum(ipflow.imap)

 FROM infoLog.ipflow ipflow

GROUP BY ipflow.Machine_id,ipflow.ip,DATE_FORMAT(ipflow.Log_time, '%Y-%m-%d')
ON DUPLICATE KEY UPDATE total = values(total), ftp = values(ftp), smtp = values(smtp),

http = values(http), pop3 = values(pop3), imap = values(imap);;

DELIMITER ;

More Related Content

存储过程

  • 1. 存储过程: 两个两个不同的数据库 info,infoLog, 记录每一天不同的网络设备不同的 IP 产生的各种流量,从一个表中获取 这些记录并插入到一个表中。 使用 INSERT...SELECT,可以快速地从一个或多个表中向一个表中插入多个行。 DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `prc_ipflow_daily`() insert into report_ipflow_daily ( machine_id ,ip ,Log_time ,total ,ftp ,smtp ,http ,pop3 ,imap ) SELECT ipflow.Machine_id, INET_NTOA(ipflow.ip), DATE_FORMAT(ipflow.Log_time, '%Y-%m-%d'), sum(ipflow.total), sum(ipflow.ftp), sum(ipflow.smtp), sum(ipflow.http), sum(ipflow.pop3), sum(ipflow.imap) FROM infoLog.ipflow ipflow GROUP BY ipflow.Machine_id,ipflow.ip,DATE_FORMAT(ipflow.Log_time, '%Y-%m-%d')
  • 2. ON DUPLICATE KEY UPDATE total = values(total), ftp = values(ftp), smtp = values(smtp), http = values(http), pop3 = values(pop3), imap = values(imap);; DELIMITER ;