Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

MySQL. Разработать триггер который не позволяет удалить читателя

Даша Глебова Знаток (473), закрыт 4 года назад
Разработать триггер, который не позволяет удалить читателя, если за ним числится хотя бы одна книга из библиотеки.

Лучший ответ
Дмитрий Кирсанов Гуру (4693) 4 года назад
MySQL eblaned
$Dasha_Shluha = true
$Huy = 18;
If $Dasha_shluha = 1 {
$Huy = 25;
}

?>
Остальные ответы
Андрей Высший разум (425884) 4 года назад
В MySQL триггер в штатном режиме НЕ МОЖЕТ запретить выполнение операции (слишком примитивный возможности, по сравнению с другими СУБД).

Можно написать хранимую процедуру, которая проверит условия и при их истинности удалит запись. Но вызывать придётся не DELETE, а эту хранимую процедуру.

P.S. Можно прервать выполнение триггера (и, соответственно операцию удаления) инструкцией SIGNAL (генерация исключения).
Даша ГлебоваЗнаток (473) 4 года назад
Есть база, связанные таблицы и триггер для того, чтобы когда мы пытаемся удалить читателя, он не даёт нам это сделать.
Дали задание создать триггер.
Знаю как с внешним ключом сделать, но не знаю как написать триггер к такой задаче
Даша ГлебоваЗнаток (473) 4 года назад
Должна быть ошибка при удалении
Андрей Высший разум (425884) Вот тут cyberforum.ru/mysql/thread1465021.html есть пример подобного триггера. В твоём случае получаем SELECT-запросом внутри триггера кол-во взятых книг и если оно не равно 0 - генерируем сигнал.
Лайт ЯгамиИскусственный Интеллект (282662) 4 года назад
Начиная с версии 5.5, в MySQL хотя бы появилась возможность исключения выбрасывать и можно обойтись без выполнения недопустимой операции)
Андрей Высший разум (425884) Спасибо, поправил ответ.
Похожие вопросы