Условный вызов триггера - PullRequest
       1

Условный вызов триггера

1 голос
/ 21 сентября 2011

У меня есть триггеры в таблице, но я хочу вызывать их только тогда, когда таблица изменяется приложением напрямую (приложением .NET), а не если она изменяется из-за какого-либо другого хранимого процесса, который может находиться в той же базе данных илидругая база данных.Есть ли что-то вроде ClientID или что-то, что может помочь мне различить и вызвать триггер условно.

Спасибо.

1 Ответ

0 голосов
/ 21 сентября 2011

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

Пара функций, которые могут помочь: APP_NAME()или CONTEXT_INFO()

Если вы не сможете попробовать

SELECT *
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID

, чтобы проверить, есть ли что-нибудь подходящее.

Не полагайтесь на них в целях безопасности, так как они легко манипулируются клиентом.

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