Нужно создать запрос - MySQL

Узнай цену своей работы

Формулировка задачи:

http://www.cyberforum.ru/attachment....1&d=1482920269 нельзя ввести кабинет если он уже занят на это время, на эту дату, другим врачем ОЙ! точнее триггер, через запрос

Решение задачи: «Нужно создать запрос»

textual
Листинг программы
CREATE TRIGGER q_trigger BEFORE INSERT ON q
FOR EACH ROW
    BEGIN
        IF new.office = (SELECT office FROM q WHERE new.office=office and date =date and time =time) THEN
            SIGNAL SQLSTATE '10001'
                SET MESSAGE_TEXT = 'Sorry, you have entered incorrectly dates.';
        END IF;
    END//

Объяснение кода листинга программы

  1. Создается триггер с именем q_trigger.
  2. Триггер срабатывает перед вставкой данных в таблицу q.
  3. Условие проверки: значение переменной office нового ряда данных должно быть равно значению переменной office в том же ряду данных в таблице q, где также дата и время равны дате и времени нового ряда данных.
  4. Если условие не выполняется, то триггер вызывает сигнал SQLSTATE '10001' и устанавливает сообщение об ошибке Sorry, you have entered incorrectly dates..
  5. Если условие выполняется, то триггер не вызывает сигнал SQLSTATE и не устанавливает сообщение об ошибке.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5