【发布时间】:2019-07-15 10:38:43
【问题描述】:
DROP PROCEDURE IF EXISTS oneTimeExcution;
CREATE PROCEDURE `oneTimeExcution`()
begin
DECLARE done INT DEFAULT FALSE;
DECLARE totalCount int(10) default 0;
DECLARE i INT DEFAULT 0;
DECLARE nowUnixTime int(10) unsigned default 0;
DECLARE id varchar(100) default null;
DECLARE cur CURSOR FOR SELECT deviceId FROM tb_sensor;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
select (UNIX_TIMESTAMP()-31622400) into nowUnixTime;
select count(*) from tb_sensor into totalCount;
OPEN cur;
FETCH NEXT FROM cur INTO id;
close cur;
read_loop: loop
IF done then
LEAVE read_loop;
END IF;
END LOOP;
end;
我目前在end if 和end loops 中遇到语法错误。我不知道为什么。请..请让我知道问题是什么。
我当前的 MySQL 版本是 5.6。
【问题讨论】:
-
您必须使用';'以外的分隔符当程序完成一个语句。