我创建了一个时间维度表,我试图填充它,但它给出了错误。我无法解决这个问题。
“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在 'CREATE PROCEDURE timedimbuild () 附近使用的正确语法”
delimiter //
DROP PROCEDURE IF EXISTS timedimbuild;
CREATE PROCEDURE timedimbuild ()
BEGIN
DECLARE v_full_date DATETIME;
DELETE FROM timedim;
SET v_full_date = '2009-03-01 00:00:00';
WHILE v_full_date < '2009-03-02 00:00:00' DO
INSERT INTO timedim (
fulltime ,
hour ,
minute ,
second ,
ampm
) VALUES (
TIME(v_full_date),
HOUR(v_full_date),
MINUTE(v_full_date),
SECOND(v_full_date),
DATE_FORMAT(v_full_date,'%p')
);
SET v_full_date2 = DATE_ADD(v_full_date2, INTERVAL 1 SECOND);
END WHILE;
END;
//
delimiter ;
最佳答案
如果更改分隔符
delimiter //
那么你必须使用新的。因此,不要使用 ;
,而是使用 //
DROP PROCEDURE IF EXISTS timedimbuild//
关于Mysql-时间维度表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29303740/