프로시져 질문입니다.
본문
BEGIN
DECLARE loopState int DEFAULT 1;
DECLARE whileCount int DEFAULT 0;
DECLARE TIME_COUNT int DEFAULT 0;
DECLARE OT VARCHAR(10);
DECLARE OM VARCHAR(10);
DECLARE ET VARCHAR(10);
DECLARE EM VARCHAR(10);
DECLARE START_TIME VARCHAR(10);
DECLARE LAST_TIME VARCHAR(10);
SET OT = OPEN_TIME;
SET OM = OPEN_MINUTES;
SET ET = CLOSE_TIME;
SET EM = CLOSE_MINUTES;
IF (OT = '0' AND OM = '0' AND ET = '0' AND EM = '0') THEN
SET START_TIME = '23:30:00';
SET LAST_TIME = '23:30:00';
ELSE
IF OM <= '30' AND OM != '0' THEN
SET OM = '30';
ELSE
SET OM = '00';
END IF;
IF EM <= '30' AND EM != '0' THEN
SET EM = '30';
ELSE
SET EM = '00';
END IF;
SET START_TIME = DATE_ADD(STR_TO_DATE('09:00', '%H:%i'), INTERVAL -30 MINUTE);
SET LAST_TIME = DATE_ADD(STR_TO_DATE('04:30', '%H:%i'), INTERVAL -30 MINUTE);
END IF;
WHILE (loopState > 0) DO
WHILE (whileCount < 2) DO
SET START_TIME = DATE_ADD(STR_TO_DATE(START_TIME, '%H:%i'), INTERVAL +30 MINUTE);
SET TIME_COUNT = TIME_COUNT + 1;
IF START_TIME = LAST_TIME THEN
SET loopState = 0;
END IF;
SET whileCount = whileCount + 1;
END WHILE;
IF START_TIME = LAST_TIME THEN
SET loopState = 0;
END IF;
END WHILE;
SELECT TIME_COUNT;
END
call time(0,0,0,0);
범위 카운트 프로시져를 짜봤는데.. 무한 루프를 돌고있네용.. 혹시 좀 봐주실수 있나요?
제 생각대로라면,, 48이 나와야 하는데말이죠,,,,,,,ㅠㅠㅠ 도움좀 부탁드립니다.
답변을 작성하시기 전에 로그인 해주세요.