我是靠谱客的博主 细心柜子,最近开发中收集的这篇文章主要介绍MySQL 存储,游标,变量,循环,IF判断,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

请参考注释

-- 如果存储过程存在就删除
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判断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部