Я пытаюсь реализовать хранимую процедуру для создания снимка баланса пользователя, и в строке 5 всегда появляется сообщение об ошибке, что синтаксис неверен, и я не нашел ответа на вопрос, что не так с этим синтаксисом:
DROP PROCEDURE IF EXISTS createSnapshot;
DELIMITER //
CREATE PROCEDURE createSnapshot()
BEGIN
INSERT INTO balance_history (uid,coin_id,balance) SELECT uid,coin_id,amount FROM balance;
DECLARE done INT DEFAULT FALSE;
DECLARE cursor1 CURSOR FOR SELECT primary_key,timestamp FROM balance_history WHERE timestamp < DATE_SUB(NOW(), INTERVAL 7 DAY);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE id INT;
DECLARE time1 TIMESTAMP;
OPEN cursor1;
read_loop: LOOP;
IF done THEN
LEAVE read_loop;
END IF
FETCH cursor1 INTO id,time1;
END LOOP
CLOSE cursor1;
END//
РАЗДЕЛИТЕЛЬ;