테스트 사이트 - 개발 중인 베타 버전입니다

프로시져 질문입니다. 채택완료

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개

4년 전

언어가 SQL인가요?  SELECT가 있는 것 을 보면,  정확하게 어떤 랭귀지인지를 알려주셔야..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
humanb2box
4년 전
네 mysql 입니다 ㅎㅎ;;

24시간을 30분단위로 쪼개서 48이라는 카운트를 받아와야하는데,, 무한루프를 돌고있더라구요,,

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인