Задать вопрос
@ed_milson
Я

Как остановить запрос INSERT если не выполняется условие?

Здравствуйте. Есть таблица "Лимит" со структурой фабрика, материал, лимит
И есть таблица Отгрузка куда будут заносится запросы когда фабрика просит взять некоторый материал. Как написать триггер на проверку, если запрос больше чем лимит то не исполнять. Пример вставки в таблицу Отгрузка
INSERT INTO `Отгрузка ` (`factory`, `material`, `kol`) VALUES ( 'фабрика1', 'дерево', '127', )

но в таблице лимит стоит Фабрика1= дерево=100 пример вставки
INSERT INTO `Лимит` (`factory`, `material`, `kol`) VALUES ( 'фабрика1', 'дерево', '100', )

Как написать триггер чтобы не исполнялся первый запрос если больше лимита?
Знаю что нужно CREATE TRIGGER BEFORE использовать, но как прервать вставку?
  • Вопрос задан
  • 1455 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
Sekira
@Sekira
Если MySQL >= 5.5, то в условии триггера вызывать примерно следующее:
IF (Фабрика=1 AND Дерево!=100) THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "Error ...";
END IF;


Подробнее dev.mysql.com/doc/refman/5.5/en/signal.html
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
xRocket Москва
от 3 000 до 4 000 $
div. Ставрополь
от 50 000 до 120 000 ₽
Lachestry Таганрог
от 170 000 до 200 000 ₽
13 дек. 2024, в 09:23
20000 руб./за проект
13 дек. 2024, в 09:12
1 руб./за проект
13 дек. 2024, в 08:51
300000 руб./за проект