Я работаю над БД Oracle 10g, и у меня проблема с моими триггерами внутри транзакции.
Table A
имеет 3 триггера: один перед вставкой, один перед обновлением и последний перед удалением. Всякий раз, когда срабатывает триггер, он записывает строку в table B
, что-то вроде журнала.
Все триггеры настроены на "before xxx"
и "on each row"
. Используя отдельные запросы, я вижу, что они работают.
Но когда я делаю два запроса, изменяя одну и ту же строку во время одной транзакции (обычно я изменяю строку, а затем удаляю ее, поэтому update
и delete
), только первый триггер (update
) выполняется. В конце транзакции я вижу, что моя строка в table A
была удалена, но в table B
есть только одна строка, показывающая действие обновления, но не удаление.
Возможно, я что-то неправильно настроил. Это что-то происходит из конфигурации триггера?