gpt4 book ai didi

mysql - MySQL中的存储过程

转载 作者:可可西里 更新时间:2023-11-01 08:37:34 25 4
gpt4 key购买 nike

我在 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。

最佳答案

刚才我看到了您的代码中似乎存在的问题....

IF done THEN
      LEAVE read_loop;
END IF;

缺少 endif。

关于mysql - MySQL中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com