TSQL DISABLE TRIGGER ограничен контекстом вызова? - PullRequest
1 голос
/ 05 января 2011

При выдаче «DISABLE TRIGGER» как части пакета TSQL, он ограничен контекстом пакета или, возможно, триггер отключен для любого другого параллельного запроса?

Если позднее, какой тип блокировки требуется, чтобы убедиться, что триггер отключен только для выдающего запроса?

1 Ответ

5 голосов
/ 05 января 2011

Это глобально отключено.Невозможно отключить его только для одного соединения.

Одна из техник, которую вы можете использовать, это добавить следующее к вашему триггеру

if context_info() =  cast('disabled' as varbinary(128))
return

Затем в нужном соединениидля «отключения» триггера для использования

declare @triggerdisabled varbinary(128) = cast('disabled' as varbinary(128))

set context_info @triggerdisabled

для «повторного включения» его использования

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