Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

DROP TRIGGER (Transact-SQL)

Quita uno o varios desencadenadores DML, DDL o logon de la base de datos actual.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger)
DROP TRIGGER schema_name.trigger_name [ ,...n ] [ ; ]

Trigger on a CREATE, ALTER, DROP, GRANT, DENY, REVOKE or UPDATE statement (DDL Trigger)
DROP TRIGGER trigger_name [ ,...n ] 
ON { DATABASE | ALL SERVER } 
[ ; ]

Trigger on a LOGON event (Logon Trigger)

DROP TRIGGER trigger_name [ ,...n ] 
ON ALL SERVER 

schema_name

Es el nombre del esquema al que pertenece el desencadenador DML. Los desencadenadores DML se limitan al esquema de la tabla o vista en la que se crearon. No se puede especificar schema_name para desencadenadores DDL o logon.

trigger_name

Es el nombre del desencadenador que se va a quitar. Para ver una lista de los desencadenadores creados actualmente, utilice sys.triggers (Transact-SQL).

DATABASE

Indica que el ámbito del desencadenador DDL se aplica a la base de datos actual. Debe especificarse DATABASE si también se especificó al crear o modificar el desencadenador.

ALL SERVER

Indica que el ámbito del desencadenador DDL o logon se aplica al servidor actual. Debe especificarse ALL SERVER si también se especificó al crear o modificar el desencadenador.

Puede eliminar un desencadenador DML si quita éste o quita la tabla del desencadenador. Cuando se quita una tabla, también se quitan todos los desencadenadores asociados.

Cuando se quita un desencadenador, se quita la información acerca del desencadenador de las vistas de catálogos sys.objects, sys.triggers y sys.sql_modules.

Se pueden quitar varios desencadenadores DDL por instrucción DROP TRIGGER sólo si todos los desencadenadores se crearon utilizando las mismas cláusulas ON.

Para cambiar el nombre de un desencadenador, utilice DROP TRIGGER y CREATE TRIGGER. Para cambiar la definición de un desencadenador, utilice ALTER TRIGGER .

Para obtener más información acerca de cómo determinar las dependencias de un desencadenador específico, vea sp_depends (Transact-SQL) y sys.sql_dependencies (Transact-SQL).

Para obtener más información acerca de cómo ver el texto del desencadenador, vea sp_helptext (Transact-SQL) y sys.sql_modules (Transact-SQL).

Para obtener más información acerca de cómo ver una lista de los desencadenadores existentes, vea sys.triggers (Transact-SQL) y sys.server_triggers.

Para quitar un desencadenador DML se requiere el permiso ALTER en la tabla o vista en la que está definido el desencadenador.

Para anular un desencadenador DDL definido con ámbito de servidor (ON ALL SERVER) o un desencadenador logon se requiere el permiso CONTROL SERVER en el servidor. Para quitar un desencadenador DDL definido con el ámbito de base de datos (ON DATABASE) se requiere el permiso ALTER ANY DATABASE DDL TRIGGER en la base de datos actual.

A. Quitar un desencadenador DML

En el siguiente ejemplo se quita el desencadenador employee_insupd.

USE AdventureWorks;
GO
IF OBJECT_ID ('employee_insupd', 'TR') IS NOT NULL
   DROP TRIGGER employee_insupd;
GO

B. Quitar un desencadenador DDL

En el siguiente ejemplo se quita el desencadenador DDL safety.

ms173497.note(es-es,SQL.90).gifImportante:
Puesto que los desencadenadores DDL no están en el ámbito del esquema y, por tanto, no aparecen en la vista de catálogo sys.objects, la función OBJECT_ID no se puede utilizar para consultar si existen en la base de datos. Los objetos que no están en el ámbito del esquema deben consultarse utilizando la vista de catálogo apropiada. Para los desencadenadores DDL, use sys.triggers.

USE AdventureWorks;
GO
IF EXISTS (SELECT * FROM sys.triggers
    WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety
ON DATABASE;
GO

Versión Historial

12 de diciembre de 2006

Contenido nuevo:
  • Se ha agregado la sintaxis y los permisos relativos a los desencadenadores logon, que se introdujeron en el Service Pack 2 de .

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft