Обновление поведения триггера в SQL 2005 - PullRequest
1 голос
/ 07 февраля 2009

Я использовал оператор Update внутри процедуры, чтобы обновить таблицу с триггером обновления. Завершается ли оператор обновления после завершения триггера или как?

Ответы [ 3 ]

2 голосов
/ 07 февраля 2009

Существует два типа триггеров в SQL Server. Триггеры INSTEAD OF и триггеры AFTER. По умолчанию триггер - это ПОСЛЕ триггера, что означает то, что происходит. Рассмотрим Таблицу A с ОБНОВЛЕНИЕМ ПОСЛЕ ТРИГГЕРА, который обновляет Таблицу B.

  • Заявление о проблеме: ОБНОВЛЕНИЕ ТаблицаA установлена ​​XXX = 5;
  • Таблица A обновляется
  • Триггер срабатывает, и TableB обновляется.
2 голосов
/ 07 февраля 2009

триггер запускается как часть оператора UPDATE (после обновления данных в таблице); после этого процесс возобновляется. Существуют также триггеры «вместо», которые заменяют оператор UPDATE.

См. здесь для получения дополнительной информации.

0 голосов
/ 08 февраля 2009
Триггеры

присоединяются к операторам, которые их запускают, и неявно являются частью транзакции, которая их сработала.

Например:

если триггеры срабатывают из-за обновления, то это помогает понять, что база данных неявно вставит begin tran и end tran , окружающие это обновление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...