嘿,你们好,
我正试着在我们的储藏室里更新一张摆着架子和架子的桌子。有15个货架,每个货架有5个货架。我运行循环到20,以增加一些额外的位置,当我们得到更多的货架。到目前为止,这是我一直在尝试torun的过程,但是,我得到了一个语法错误接近我的第一个终点,如果;
以下是我的发言:
drop PROCEDURE if exists updateLocations;
DELIMITER //
CREATE PROCEDURE updateLocations()
begin
DECLARE rack INT default 1;
DECLARE shelf INT default 1;
WHILE rack<21 DO
insert into tblStorageLocations values ("", rack, shelf);
IF (shelf=5, SET rack=rack+1, set rack=rack);
END IF;
IF (shelf<5, SET shelf=shelf+1, set shelf=1);
END IF;
END WHILE;
END;
//
DELIMITER ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'IF;
IF (shelf<5, SET shelf=shelf+1, set shelf=1);
END IF;
END WHILE' at line 8发布于 2017-04-08 01:48:18
您正在将if作为函数处理,而不是作为语句处理。
drop PROCEDURE if exists updateLocations;
DELIMITER //
CREATE PROCEDURE updateLocations()
BEGIN
DECLARE rack INT default 1;
DECLARE shelf INT default 1;
WHILE rack < 21 DO
INSERT INTO tblStorageLocations
VALUES ('', rack, shelf);
IF shelf = 5 THEN
SET rack = rack + 1;
END IF;
IF shelf < 5 THEN
SET shelf = shelf + 1;
ELSE
SET shelf = 1;
END IF;
END WHILE;
END;
//
DELIMITER ;https://stackoverflow.com/questions/43289304
复制相似问题