DROP TRIGGER (Transact-SQL)
Supprime un ou plusieurs déclencheurs DML, DDL ou de connexion de la base de données active.
Conventions de la syntaxe de Transact-SQL
Syntaxe
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
Arguments
- schema_name
Nom du schéma auquel appartient un déclencheur DML. Les déclencheurs DML sont limités au schéma de la table ou à la vue sur laquelle ils sont créés. schema_name ne peut pas être spécifié pour des connexions DDL ou de connexion.
- trigger_name
Indique le nom du déclencheur à supprimer. Pour afficher la liste des déclencheurs existants, utilisez sys.triggers (Transact-SQL).
- DATABASE
Indique que l'étendue du déclencheur DDL s'applique à la base de données active. L'argument DATABASE doit être spécifié s'il a également été indiqué lors de la création ou de la modification du déclencheur.
- ALL SERVER
Indique que l'étendue du déclencheur DDL ou de connexion s'applique au serveur actif. L'argument ALL SERVER doit être spécifié s'il a également été indiqué lors de la création ou de la modification du déclencheur.
Notes
Vous pouvez éliminer un déclencheur DML en le supprimant ou en supprimant sa table. Lorsqu'une table est supprimée, tous les déclencheurs associés sont également supprimés.
Lorsqu'un déclencheur est supprimé, les informations le concernant sont supprimées des affichages catalogue sys.objects, sys.triggers et sys.sql_modules.
Il est possible de supprimer plusieurs déclencheurs DDL avec une seule instruction DROP TRIGGER, uniquement s'ils ont tous été créés à l'aide de clauses ON identiques.
Pour renommer un déclencheur, utilisez DROP TRIGGER et CREATE TRIGGER. Pour modifier la définition d'un déclencheur, utilisez ALTER TRIGGER.
Pour plus d'informations sur la définition des dépendances d'un déclencheur spécifique, consultez sp_depends (Transact-SQL) et sys.sql_dependencies (Transact-SQL).
Pour plus d'informations sur l'affichage du texte d'un déclencheur, consultez sp_helptext (Transact-SQL) et sys.sql_modules (Transact-SQL).
Pour plus d'informations sur l'affichage de la liste des déclencheurs existants, consultez sys.triggers (Transact-SQL) et sys.server_triggers.
Autorisations
La suppression d'un déclencheur DML nécessite une autorisation ALTER sur la table ou la vue sur laquelle le déclencheur est défini.
La suppression d'un déclencheur DDL défini avec une étendue de serveur (ON ALL SERVER) ou d'un déclencheur de connexion nécessite l'autorisation CONTROL SERVER sur le serveur. La suppression d'un déclencheur DDL défini avec une étendue de base de données (ON DATABASE) nécessite une autorisation ALTER ANY DATABASE DDL TRIGGER sur la base de données active.
Exemples
A. Suppression d'un déclencheur DML
L'exemple suivant supprime le déclencheur employee_insupd
.
USE AdventureWorks;
GO
IF OBJECT_ID ('employee_insupd', 'TR') IS NOT NULL
DROP TRIGGER employee_insupd;
GO
B. Suppression d'un déclencheur DDL
L'exemple suivant supprime le déclencheur DDL safety
.
Important : |
---|
Étant donné que les déclencheurs DDL ne sont pas compris dans l'étendue du schéma, et qu'ils n'apparaissent donc pas dans l'affichage catalogue sys.objects, la fonction OBJECT_ID ne peut pas être utilisée pour déterminer s'ils existent dans la base de données. Les objets qui ne sont pas compris dans l'étendue du schéma doivent être interrogés à l'aide de l'affichage catalogue approprié. Pour les déclencheurs DDL, utilisez sys.triggers. |
USE AdventureWorks;
GO
IF EXISTS (SELECT * FROM sys.triggers
WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety
ON DATABASE;
GO
Voir aussi
Référence
ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DISABLE TRIGGER (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.objects (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.assembly_modules (Transact-SQL)
sys.server_triggers
sys.server_trigger_events
sys.server_sql_modules
sys.server_assembly_modules (Transact-SQL)
Autres ressources
Obtention d'informations sur les déclencheurs DML
Obtention d'informations sur les déclencheurs DDL
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
12 décembre 2006 |
|