No SQL Server, você pode usar o procedimento armazenado sp_helptrigger para retornar o tipo ou os tipos de gatilhos DML definidos na tabela especificada para o banco de dados atual.
Esse procedimento armazenado funciona apenas em gatilhos DML (não em gatilhos DDL).
Sintaxe
A sintaxe oficial é assim:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Você deve fornecer o nome da tabela como um argumento. Você pode prefixar com
@tabname =
, mas isso é opcional. Você também tem a opção de especificar um tipo de gatilho. Isso pode ser
INSERT
, DELETE
, ou UPDATE
. Exemplo 1 – Uso básico
Aqui está um exemplo simples para demonstrar.
EXEC sp_helptrigger 'dbo.t1';
Resultado:
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+ | trigger_name | trigger_owner | isupdate | isdelete | isinsert | isafter | isinsteadof | trigger_schema | |-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------| | t1_insert_trigger | dbo | 0 | 0 | 1 | 1 | 0 | dbo | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
Caso você tenha problemas para rolar para os lados, aqui está o resultado novamente usando a saída vertical:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Exemplo 2 – Especificar um tipo
Neste exemplo, também especifico o tipo.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Resultado (usando saída vertical):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Neste caso, houve um gatilho desse tipo.
Aqui está novamente usando um tipo diferente.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Resultado:
(0 rows affected)
Neste caso não houve
DELETE
gatilhos nessa tabela.