Зависание при создании процедуры MYSQL (HELP) - PullRequest
0 голосов
/ 28 октября 2019

Здравствуйте, уважаемое техническое сообщество! Я ищу немного света на моем SQL. Мне было поручено создать процедуру для моей базы данных, мне предоставили код, который я должен заполнить, но это не имеет смысла, потому что каждый учебник у меня есть. смотрел на это совсем другое.

DELIMITER $$

CREATE PROCEDURE course_scheduler (IN new_code CHAR(3), IN start_date DATE)
  BEGIN
    DECLARE isExisting BOOLEAN DEFAULT FALSE;
    DECLARE new_code CHAR(3);
    DECLARE start_date CURSOR FOR
      SELECT course_code FROM module WHERE new_code = course_code;
    DECLARE CONTINUE HANDLER FOR NOT FOUND
      SET isExisting = TRUE;

    -- NOTE : check if course exists !
    IF (isExisting) THEN
      SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = ' Course exists';
    END IF;

    -- NOTE : check if start date is >= month in future !
    IF (start_date) THEN
      SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = ' Course starts';
    END IF;

    OPEN todo;

    todo: LOOP
      FETCH NEXT FROM todo INTO todo;

      IF (todo) THEN
        LEAVE todo;
      END IF;

      -- NOTE : Check Saturday / Sunday & Skip using WEEKDAY & DATE_ADD functions respectivly in MySQL . . Google !

      INSERT INTO `session` (`code`, `date`, room)

      SET start_date = DATE_ADD(CURRENT_DATE, INTERVAL 1 MONTH);
    END LOOP;

    CLOSE todo;
  END$$

DELIMITER ;

https://imgur.com/a/1QZYdUi

Слово "todo" нужно заменить на правильные ключи из таблицы, но я не знаю, какие из них ... запутались, потому что каждый учебник, который я смотрю,разные.

РЕДАКТИРОВАТЬ: хорошо, это как далеко я получил. Любая помощь, любые предложения?

...