MariaDB заполняет таблицу процедурой не работает
Что не так с инструкциями в букле Пока. Когда я вызываю процедуру, в таблицу не вставляется строка. Я попытался добавить один вручную до конца while, и он вставлен в таблицу. Ниже процедура и сценарий таблицы.
DELIMITER /
CREATE OR REPLACE PROCEDURE filltimeDim ()
BEGIN
DECLARE vDate DATE;
DECLARE vYear CHARACTER(4);
DECLARE vQuarter CHARACTER(6);
DECLARE vMonth_Name VARCHAR(20);
DECLARE vWeekday_Name VARCHAR(20);
DECLARE vMonth_Num SMALLINT;
DECLARE vWeekday_Num SMALLINT;
BEGIN
TRUNCATE TABLE Time_Dim;
SET vDate = CONVERT('1998-01-01', DATE);
WHILE (vDate <= CONVERT('2000-12-31', DATE)) DO
SET vYear = YEAR(vDate);
SET vQuarter = QUARTER(vDate);
SET vMonth_Name = MONTHNAME(vDate);
SET vWeekday_Name = DAYNAME(vDate);
SET vMonth_Num = MONTH(vDate);
SET vWeekday_Num = WEEKDAY(vDate);
INSERT INTO Time_Dim VALUES
(vDate, vYear, vQuarter, vMonth_Name,vWeekday_Name,vMonth_Num,vWeekday_Num);
SET vDate = vDate + 1;
END WHILE;
COMMIT;
END;
END/
CREATE TABLE Time_Dim (
Date_ID DATE PRIMARY KEY,
Year_ID CHARACTER(4),
Quarter VARCHAR(20),
Month_Name VARCHAR(20),
Weekday_Name VARCHAR(20),
Month_Num SMALLINT,
Weekday_NUM SMALLINT
);