关于#MySQL#的问题,如何解决?

写一个MySQL存储过程
参数:
起始时间
结束时间
要求:
将起始时间和结束时间内的的数据插入到临时中表

bd301表的字段
timer datetime
datasetName varchar(20)
valueMap varchar(255)
note varchar(255)
exceptionMap varchar(255)

表中部分数据为:
timer datasetName valueMap note exceptionMap
2022-01-11 11:19:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:20:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:21:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:22:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:23:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:24:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:25:00 db301-1 {"1"} DB301 {"1"}
2022-01-11 11:26:00 db301-1 {"1"} DB301 {"1"}

用不着存储过程。

insert into t 
select * from bd301 where timer>='开始时间'
and timer<='结束时间'

存储过程写法:

DELIMITER $$
    CREATE PROCEDURE synchData(IN startDate datetime,IN endDate datetime)
    BEGIN
        insert into t
        select * from bd301 where timer>=startDate 
        and timer<=endDate 
    END $$;
DELIMITER;

关于使用存储过程传参数查询一段时间内的数据,你可以参考如下:

简单的插入数据存储过程就这样,如果涉及到逻辑判断啊等等操作,那就可能需要用到游标,然后去循环处理数据了

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertTemp`(IN `startDate` date,IN `endDate` date)
BEGIN
 insert into temp 
select * from bd301 where timer>=startDate
and timer<=endDate;
END
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632