У меня есть после обновления триггера (Trigger A) на таблицу А, которая может внести изменения в таблицу В.Как избежать ORA-04091 ошибка в триггере
Я также иметь после запуска обновления (Trigger B) на таблица B, которая не вносит никаких изменений, но запрашивает таблицу A для проверки правильности денормализации.
Так Trigger B может стрелять один из двух способов:
- если я непосредственно обновляющих таблицу В, или
- если я обновить таблицу A и Trigger А пожары, в результате чего обновление таблицы B
В случае 2, я получаю ORA-04091: имя таблицы мутирует, триггер/функция может не увидеть его ошибку. Это кажется правильным.
Я хочу проверить внутри триггера B, если таблица A «в плохом состоянии» и ранний выход (в этом случае проверка работоспособности в этом случае не требуется).
Каков наилучший способ проверить это в течение моего триггера? Просто добавьте обработчик исключений, который проглатывает исключение? Есть ли что-то более изящное?
Я полностью согласен, но так оно и есть. Пакетное решение, похоже, делает трюк, спасибо! –