Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
In dit onderwerp wordt beschreven hoe u een DML-trigger in SQL Server verwijdert of uitschakelt met behulp van SQL Server Management Studio of Transact-SQL.
Aanbevelingen
Wanneer een trigger wordt verwijderd, wordt deze verwijderd uit de huidige database. De tabel en de gegevens waarop deze zijn gebaseerd, worden niet beïnvloed. Als u een tabel verwijdert, worden alle triggers in de tabel automatisch verwijderd.
Een trigger is standaard ingeschakeld wanneer deze wordt gemaakt.
Als u een trigger uitschakelt, wordt deze niet verwijderd. De trigger bestaat nog steeds als een object in de huidige database. De trigger zal echter niet afgaan wanneer een , INSERTUPDATE, of DELETE statement waarop het geprogrammeerd is, wordt uitgevoerd. Triggers die zijn uitgeschakeld, kunnen opnieuw worden geactiveerd. Als u een trigger inschakelt, wordt deze niet opnieuw gemaakt. De trigger wordt op dezelfde manier geactiveerd als toen deze oorspronkelijk werd gemaakt.
Machtigingen
Als u een DML-trigger wilt verwijderen, is alter-machtiging vereist voor de tabel of weergave waarvoor de trigger is gedefinieerd.
Als u een DML-trigger wilt uitschakelen of inschakelen, moet een gebruiker minimaal alter-machtigingen hebben voor de tabel of weergave waarop de trigger is gemaakt.
SQL Server Management Studio gebruiken
Een DML-trigger verwijderen
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine en vouw vervolgens dat exemplaar uit.
Vouw de gewenste database uit, vouw tabellenuit en vouw vervolgens de tabel uit die de trigger bevat die u wilt verwijderen.
Vouw Triggersuit, klik met de rechtermuisknop op de trigger om te verwijderen en klik vervolgens op Verwijderen.
Controleer in het dialoogvenster Object verwijderen de trigger om te verwijderen en klik vervolgens op OK.
Een DML-trigger uitschakelen en inschakelen
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine en vouw vervolgens dat exemplaar uit.
Vouw de gewenste database uit, vouw Tabellenuit en vouw vervolgens de tabel uit die de trigger bevat die u wilt uitschakelen.
Vouw Triggersuit, klik met de rechtermuisknop op de trigger om deze uit te schakelen en klik vervolgens op Uitschakelen.
Als u de trigger wilt inschakelen, klikt u op inschakelen.
Transact-SQL gebruiken
Een DML-trigger verwijderen
Maak verbinding met de database-engine.
Klik in de standaardbalk op Nieuwe query.
Kopieer en plak de volgende voorbeelden in het queryvenster. Voer de CREATE TRIGGER instructie uit om de
Sales.bonus_remindertrigger te creëren. Om de trigger te verwijderen, voer je de DROP TRIGGER instructie uit.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Delete the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
Een DML-trigger uitschakelen en inschakelen
Maak verbinding met de database-engine.
Klik in de standaardbalk op Nieuwe query.
Kopieer en plak de volgende voorbeelden in het queryvenster. Voer de CREATE TRIGGER instructie uit om de
Sales.bonus_remindertrigger te creëren. Om de trigger uit te schakelen en in te schakelen, voert u respectievelijk de DISABLE TRIGGER en-instructies ENABLE TRIGGER uit.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Disable the trigger.
USE AdventureWorks2022;
GO
DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
--Enable the trigger.
USE AdventureWorks2022;
GO
ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
Verwante onderwerpen
- ALTER TRIGGER (Transact-SQL)
- CREATE TRIGGER (Transact-SQL)
- DROP TRIGGER (Transact-SQL)
- ENABLE TRIGGER (Transact-SQL)
- DISABLE TRIGGER (Transact-SQL)
- EVENTDATA (Transact-SQL)
- Informatie over DML-triggers ophalen
- sys.sp_help (Transact-SQL)
- sys.sp_helptrigger (Transact-SQL)
- sys.triggers (Transact-SQL)
- sys.trigger_events (Transact-SQL)
- sys.sql_modules (Transact-SQL)
- sys.assembly_modules (Transact-SQL)
- sys.server_triggers (Transact-SQL)
- sys.server_trigger_events (Transact-SQL)
- sys.server_sql_modules (Transact-SQL)
- sys.server_assembly_modules (Transact-SQL)