mysql存储过程中的查询语句有时候执行不成功,我的数据库里有800万条记录,大部分时候都能执行成功 20

存储过程代码:delimiter//CREATEPROCEDUREqueryAddNumOfDay(inpMonthINT)BEGINSET@startDate=CONC... 存储过程代码:

delimiter //
CREATE PROCEDURE queryAddNumOfDay(in pMonth INT)
BEGIN
SET @startDate = CONCAT(SUBSTR(pMonth, 1, 4), "-", SUBSTR(pMonth, 5, 2), "-", "01");
SET @endDate = LAST_DAY(@startDate);
DELETE FROM ta_tj_add_day WHERE days >= @startDate AND days <= @endDate;
SET @preNum = 0;
SELECT @preNum := COUNT(DISTINCT deviceid) FROM ta_app_download_log WHERE type = '7' AND DATE(download_time) < @startDate;
while @startDate <= @endDate DO
SET @curNum = 0;
SELECT @curNum := COUNT(DISTINCT deviceid) FROM ta_app_download_log WHERE type = '7' AND DATE(download_time) <= @startDate;
INSERT INTO ta_tj_add_day(add_num, days) VALUES (@curNum - @preNum, @startDate);
SET @startDate = DATE_ADD(@startDate, INTERVAL 1 DAY);
set @preNum = @curNum;
END WHILE;
END;
//
delimiter ;
其中的查询语句:
SELECT @curNum := COUNT(DISTINCT deviceid) FROM ta_app_download_log WHERE type = '7' AND DATE(download_time) <= @startDate;
我感觉这个查询有时候没执行成功、或者没执行导致错误
展开
 我来答
百度网友0951d78
2014-09-11 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1262万
展开全部
你单独执行一下,看是否成功不就知道了
更多追问追答
追问
单独执行是成功的,但是今天早上查看的时候数据就是出错了
追答
数据出错是没有执行成功,还是执行成功了,但是结果不是你想要的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式