powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как триггером удалить дерево?
6 сообщений из 6, страница 1 из 1
Как триггером удалить дерево?
    #40014396
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
CREATE DEFINER = 'shiprepair'@'%' TRIGGER `drv_group_before_del_tr1` BEFORE DELETE ON `drv_group`
  FOR EACH ROW
BEGIN
  DELETE FROM drv_group WHERE up_id = OLD.id;
END;


Ругается на рекурсивный вызов триггера. Как выйти из положения? ON DELETE CASCADES не предлагать.
...
Рейтинг: 0 / 0
Как триггером удалить дерево?
    #40014434
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad
ON DELETE CASCADES не предлагать.
Тогда никак. Триггер не может изменять таблицу, на которой определён.
...
Рейтинг: 0 / 0
Как триггером удалить дерево?
    #40014441
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
svnvlad
ON DELETE CASCADES не предлагать.
Тогда никак. Триггер не может изменять таблицу, на которой определён.

Может как-то исхитриться окольным путем через функцию или процедуру?
...
Рейтинг: 0 / 0
Как триггером удалить дерево?
    #40014444
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только если заменить сам удаляющий запрос на процедуру.
...
Рейтинг: 0 / 0
Как триггером удалить дерево?
    #40015131
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Только если заменить сам удаляющий запрос на процедуру.

Заменил, все равно ругается.
авторERROR 1442 (HY000): Can't update table 'drv_group' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
...
Рейтинг: 0 / 0
Как триггером удалить дерево?
    #40015160
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тем не менее - изначально это триггер. И все ограничения на месте. Обмануть "прокладкой" - нельзя, контроль идёт по контексту кода.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как триггером удалить дерево?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]