Como determino se um gatilho está direcionando as instruções INSERT, UPDATE ou DELETE?
Fiz o check-in sys.triggers
e não consigo ver nada relacionado a qual operação o gatilho é acionado.
Como determino se um gatilho está direcionando as instruções INSERT, UPDATE ou DELETE?
Fiz o check-in sys.triggers
e não consigo ver nada relacionado a qual operação o gatilho é acionado.
A
sys.triggers
tabela não expõe esses dados, mas temos duas opções:PROPRIEDADE DO OBJETO
Usando a função de metadados OBJECTPROPERTY podemos retornar a ação como uma propriedade conforme abaixo:
Isso retornará um valor de bit simples indicando se o gatilho é acionado nessa ação específica.
sys.trigger_events
De acordo com os documentos, isso contém uma linha por evento para o qual um gatilho é acionado. Especificamente, as colunas em que estamos interessados são
type
etype_desc
.type
é uma chave estrangeira para asys.trigger_event_types
tabela -type_desc
parece conter atype_name
coluna dasys.trigger_event_types
tabela.Esses dados podem ser retornados usando o seguinte script: