Предположим, у нас следующая ситуация:
У нас есть таблица (скажем Table_A
), на которой есть триггер INSERT
. Задание триггера заключается в обновлении некоторых строк на table_B
основе вставленных значений в table_A
.
Теперь все нормально, когда мы просто вставляем строку в таблицу, но как насчет ситуаций, когда мы вставляем данные через транзакцию? Будет ли триггер ждать, пока все операторы транзакций будут успешно выполнены, или он будет запущен в тот момент, когда он распознает вставку ?. Если триггер срабатывает немедленно, когда он распознает первую вставку, что произойдет, если транзакция завершится неудачей в последней строке? Есть ли какой-то механизм для такой ситуации?
источник