1
我有一个存储过程,如下所示。Mysql存储过程获取数据并返回为行
在这个过程中,查询应该返回一个基于名称匹配的行;但是当我尝试使用此SR时,查询不会提取,并且SR未成功执行。请让我知道我的错误?
DROP TABLE TEMP;
CREATE TABLE TEMP
(
NAME VARCHAR(15)
);
INSERT INTO TEMP (SELECT DISTINCT(NAME) FROM IMDETAILS);
DELIMITER $$
CREATE PROCEDURE INCIDENT()
BEGIN
DECLARE NAMEE VARCHAR(10);
DECLARE CUR1 CURSOR for SELECT NAME FROM TEMP;
open CUR1;
read_loop: LOOP
FETCH CUR1 INTO NAMEE;
SELECT NAMEE;
insert into incident values ((select distinct(NAME) from IMDETAILS where NAME=NAMEE),
(SELECT COUNT(*) FROM IMDETAILS WHERE NAME=NAMEE AND RESOLVED_DATE=(SELECT CURDATE()) AND STATUS='RESOLVED'),
(SELECT COUNT(*) FROM IMDETAILS WHERE NAME=NAMEE AND RESOLVED_WEEK = WEEK(CURDATE()) AND STATUS='RESOLVED'),
(SELECT COUNT(*) FROM IMDETAILS WHERE NAME=NAMEE AND RESOLVED_MONTH=(SELECT DATE_FORMAT(NOW(),'%M')) AND STATUS='RESOLVED'),
(SELECT POINTS FROM POINT WHERE IMCOUNT<=(SELECT COUNT(*) FROM IMDETAILS WHERE NAME=NAMEE AND RESOLVED_MONTH=(SELECT DATE_FORMAT(NOW(),'%M'))
AND STATUS='RESOLVED')));
END LOOP;
CLOSE CUR1;
END $$;
DELIMITER;
最后一个分隔符的说法应该是分隔符; –
您可以添加示例数据和调用语句吗? –
我有IMDETAILS表的列名为“名称”,“每日计数”,“周末计数”,“每月计数”我临时表的列为“名称”.so在我的商店程序中,临时表中的名称应该根据每天,每周,每月计数与IMDETAILS表中的名称匹配。 – RMP