2
안녕, 나는 우리의 저장 방에 선반과 선반 위치에있는 테이블을 업데이트하기 위해 노력하고있어MySQL을 (MariaDB) while 루프
. 15 개의 랙이 있고 각 랙에는 5 개의 선반이 있습니다. 나는 선반이 더 늘어날 때 추가 위치를 추가하기 위해 루프를 20 번 실행하고 있습니다. 지금까지 나는 이것이 torun을 시도한 절차이지만, 내 첫 END 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, 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
대단히 감사합니다. 정확히 내가 오해 한 것입니다. – leech911