ОК, реальная транзакция, которая откатывается во время вставки / обновления / удаления, также откатывает любые действия, предпринятые триггером.Однако, если вы выполняете более одного действия в транзакции, обработка транзакции должна быть явной в вашем коде, чтобы откат произошел с ранними действиями.
Так что, если я удаляю из таблицы1 и триггер срабатывает изатем транзакция завершается неудачно, все откатывается.
Если я удаляю из таблицы 1 и срабатывает триггер, а я удаляю из таблицы 2 как часть того же сценария или хранимого proc или dynamicSQL, отправленного из приложения, тогда могут произойти две вещи,Если у вас есть формальная явная транзакция (которая правильно обрабатывает ошибки), все, что происходит, включая действия триггера, откатывается, если вы полагались на неявную транзакцию (которая только откатывает последнее действие), то она ничего не изменит дочасть, которая потерпела неудачу.