概述
请参考注释
-- 如果存储过程存在就删除
DROP PROCEDURE IF EXISTS `proc_sec_dialy`;
-- 创建存储过程
CREATE PROCEDURE `proc_sec_dialy`()
BEGIN
-- 声明游标的变量
declare honey_id varchar(225) DEFAULT 'cursor-default';
declare ip_in INT DEFAULT 0;
declare done INT DEFAULT FALSE;
-- 创建游标
DECLARE cursor_global_ip_in CURSOR FOR (
select honeyId,count(direction) as ipIn from netinfo where direction = 1 GROUP BY honeyId
);
-- 绑定游标的结束符
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 设置当前日期
set @today = curdate();
-- 打开游标
OPEN cursor_global_ip_in;
-- 循环
read_loop: LOOP
-- 取游标的值给变量
FETCH cursor_global_ip_in INTO honey_id, ip_in;
-- 判断结束
IF done THEN
LEAVE read_loop;
END IF;
-- 判断数据是否存在
IF NOT EXISTS(select statisticsDate from aaa_global_daily where statisticsDate = @today and honeyId = honey_id) THEN
insert into aaa_global_daily(honeyId, statisticsDate, ipIn) value(honey_id, @today, ip_in);
ELSE
update aaa_global_daily set ipIn = ip_in where statisticsDate = @today and honeyId = honey_id;
END IF;
-- 结束循环
END LOOP;
-- 关闭游标
CLOSE cursor_global_ip_in;
END;
最后
以上就是细心柜子为你收集整理的MySQL 存储,游标,变量,循环,IF判断的全部内容,希望文章能够帮你解决MySQL 存储,游标,变量,循环,IF判断所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复