|
Модераторы: skyboy |
|
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Есть таблица AAA
id id2 name На ней, на AFTER UPDATE, висит триггер. Сам исполнимый код триггера:
Соответственно mysql шлет меня подальше, ибо нельзя обновлять строки той же таблицы на которую повешен триггер. На самом деле, можно, но только для той строки, для которой сработал триггер, используя SET, но мне нужно обновлять именно другие. Понятно что это сделано дабы база не свалилась в бесконечную рекурсию, но как раз именно для рекурсии я и хочу такое заюзать. Конечно не бесконечной. Гугль особо результатов не дал. Если не считать ответов при непонятом вопросе, и визги что нельзя, потому что НЕЛЬЗЯ. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Правильно. НЕЛЬЗЯ. Всё, не обсуждается.
Если нужна логика, которая противоречит семантике атомарной операции - она реализуется не запросом, а хранимой процедурой. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Угу, процедуры я тоже попробовал. Процедурой можно, но разово, как обычным запросом. А мне нужно именно рекурсивно. А если вешаешь процедуру в тригер, то тоже самое - нельзя.
А если првиести пример, то подзапрос в таблице которую собираешься инсертить или апдейтить - тоже нельзя, однако если подумать - то можно. Это сообщение отредактировал(а) Aver78 - 21.6.2018, 09:08 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Забудь слово "триггер". Именно в этом - смысл слова "нельзя". В форме ХП реализуется то, что ты пытаешься реализовать запросом. Не тем запросом, что в триггере, а тем,от выполнения которого должен сработать триггер. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |