我正在PHPMyAdmin中运行以下命令:
DELIMITER #
CREATE PROCEDURE addid()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a,b FLOAT DEFAULT 0;
DECLARE c,d INT DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT time FROM results;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO a;
IF done THEN
LEAVE read_loop;
IF a - b > 60 THEN
SET c = c+1;
ELSE
UPDATE results SET uid=c WHERE time=a;
END IF;
SET b = a;
END LOOP;
CLOSE cur1;
END#
DELIMITER ;
CALL addid();
也许它能做我想要的事情,也许不能。但是我不知道,因为我无法调用它。
我收到以下错误信息:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LOOP; CLOSE cur1; END# call addid()' at line 20
有时候,根据我的调整,我可以让创建过程运行起来,但是它找不到存储过程,好像根本没有创建。
这是我第一次使用存储过程,所以可能是一些愚蠢的错误。我正在运行 MySQL 5.0.7。
END LOOP read_loop;
- cdhowie