En SQL Server, puede usar el procedimiento almacenado sp_helptrigger para devolver el tipo o tipos de activadores DML definidos en la tabla especificada para la base de datos actual.
Este procedimiento almacenado solo funciona en disparadores DML (no en disparadores DDL).
Sintaxis
La sintaxis oficial es así:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Debe proporcionar el nombre de la tabla como argumento. Puede prefijarlo con @tabname =
, pero esto es opcional.
También tiene la opción de especificar un tipo de disparador. Esto puede ser INSERT
, DELETE
o UPDATE
.
Ejemplo 1:uso básico
Aquí hay un ejemplo simple para demostrarlo.
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 | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
En caso de que tenga problemas para desplazarse hacia los lados, este es el resultado nuevamente usando la salida vertical:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Ejemplo 2:especificar un tipo
En este ejemplo también especifico el tipo.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Resultado (usando salida vertical):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
En este caso, hubo un disparador de ese tipo.
Aquí está nuevamente usando un tipo diferente.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Resultado:
(0 rows affected)
En este caso no hubo DELETE
disparadores en esa mesa.