Тригеры на ограничение ввода данных в таблицу - MySQL

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

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

Помогите кто может. Нужно написать тригер для ограничения ввода данных в таблицу, к примеру есть столбец группа крови, нужно ограничение чтобы он выходила ошибка если введешь 5 группу крови. Это пример.

Решение задачи: «Тригеры на ограничение ввода данных в таблицу»

textual
Листинг программы
CREATE DEFINER=`1`@`%` TRIGGER `db`.`table` BEFORE INSERT ON `table` FOR EACH ROW
FOR EACH ROW BEGIN 
 
IF (NEW.gruppa <> 1 AND NEW.gruppa <> 2 AND NEW.gruppa <> 3 AND NEW.gruppa <> 4) THEN
SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = ' gruppa ne podxodit';
END IF;
END

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

  1. Создание триггера с именем trigger_name на таблице table
  2. Указание пользователя definer и пользователей, которым принадлежит триггер trigger_name
  3. Указание события BEFORE INSERT, которое будет выполняться перед вставкой новой записи
  4. Указание условия IF (NEW.gruppa <> 1 AND NEW.gruppa <> 2 AND NEW.gruppa <> 3 AND NEW.gruppa <> 4), которое проверяет значение поля gruppa новой записи
  5. Если условие не выполняется, то выполняется сигнал SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = ' gruppa ne podxodit', который отменяет вставку записи и выводит сообщение об ошибке
  6. Завершение блока END IF
  7. Завершение блока END, который обозначает конец триггера
  8. Завершение создания триггера

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


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

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

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