프로시져 질문입니다. 채택완료
humanb2box
4년 전
조회 3,367
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</p>
<p> </p>
<p>call time(0,0,0,0);
범위 카운트 프로시져를 짜봤는데.. 무한 루프를 돌고있네용.. 혹시 좀 봐주실수 있나요? 제 생각대로라면,, 48이 나와야 하는데말이죠,,,,,,,ㅠㅠㅠ 도움좀 부탁드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
24시간을 30분단위로 쪼개서 48이라는 카운트를 받아와야하는데,, 무한루프를 돌고있더라구요,,