Здравствуйте, уважаемое техническое сообщество! Я ищу немного света на моем 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" нужно заменить на правильные ключи из таблицы, но я не знаю, какие из них ... запутались, потому что каждый учебник, который я смотрю,разные.
РЕДАКТИРОВАТЬ: хорошо, это как далеко я получил. Любая помощь, любые предложения?