Триггер и XACT_ABORT ON

defragmentator
Дата: 29.01.2013 09:59:53
Подскажите, если поставить SET XACT_ABORT ON внутри триггера, то это будет иметь эффект или надо ставить эту команду в пакете до начала выполнения триггера, чтобы триггер откатился при ошибке выполнения?
iap
Дата: 29.01.2013 10:07:00
defragmentator
Дата: 29.01.2013 10:23:34
Не верю, что всегда транзакция откатывается в триггере.
У нас как раз накрывалась система из-за того, что транзакция не откатилась.
Правда, там в триггере AFTER INSERT вызывалась процедура на несколько тысяч строк, но всё равно не должно было бы.
Glory
Дата: 29.01.2013 10:26:37
defragmentator
Не верю, что всегда транзакция откатывается в триггере.

Правильно.
Потому что транзакция всегда открывается ДО триггера.
defragmentator
Дата: 29.01.2013 10:38:34
Glory
Правильно.
Потому что транзакция всегда открывается ДО триггера.

То есть?
Glory
Дата: 29.01.2013 10:40:56
defragmentator
То есть?

Что непонятного во фразе "транзакция всегда открывается ДО выполнения триггера." ?
defragmentator
Дата: 29.01.2013 10:59:13
Glory,

всё, разобрался.
Надо использовать явные транзакции.