我是mysql存储过程的新手。我希望我的存储过程检查字段date中的日期值并与当前日期进行比较。如果当前日期大于表中的日期值,我想将字段status\u number中的值更新为“0”。
我的问题是:
DELIMITER $$
DROP PROCEDURE IF EXISTS check_status$$
CREATE PROCEDURE check_status()
BEGIN
DECLARE dd DATE;
DECLARE bDone INT;
DECLARE Count INT;
DEClARE my_status CURSOR FOR SELECT dates FROM t_date;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET bDone = 1;
OPEN my_status;
SET bDone = 0;
REPEAT
FETCH my_status INTO dd;
IF (dd < DATE(NOW()))
UPDATE t_date SET (status_number) VALUES (1);
END IF;
UNTIL bDone END REPEAT;
CLOSE my_status;
END$$
DELIMITER ;
错误消息:
谢谢你的回答。
2条答案
按热度按时间mu0hgdu01#
rkkpypqq2#
检查一下。它在mssql上进行了测试。我尝试将其转换为mysql,但没有在mysql上测试,但我希望它能工作。