近些碰到一个业务需要处理结果集,因此需要使用游标.用于统计策略的流量值.直接上栗子说明游标用法.
先看strategy表中数据
一共10条.
通过游标遍历统计流量
CREATE DEFINER=`root`@`localhost` PROCEDURE `sum_interface_traffic`()
BEGIN
declare sum_in_traffic float;
declare sum_out_traffic float;
declare strategy_id int;
declare app_ids varchar(300);
declare done INT default 0;
#涉及到主键,必须用别名,否则fetch不到值
declare cur cursor for select s.id, s.app_ids from strategy s;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
/**
要是需要频繁的调用该存储过程,可以将
drop temporary table if exists sum_strategy_interface_traffic;注释
改为truncate table sum_strategy_interface_traffic;避免临时表的频繁创建
**/
drop