Audit des tables à l’aide de déclencheurs
L’entreprise a décidé de suivre les modifications apportées à toutes les tables les plus importantes. L’une de ces tables est Orders.
Toute modification du contenu de Orders doit être insérée dans TablesAudit.
Cet exercice fait partie du cours
Créer et optimiser des déclencheurs dans SQL Server
Instructions
- Créez un nouveau déclencheur
AFTERsur la tableOrders. - Configurez le déclencheur pour qu’il se déclenche sur les instructions
INSERT,UPDATEetDELETE.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Add a trigger that tracks table changes
___ ___ OrdersAudit
ON Orders
___ INSERT, ___, ___
AS
DECLARE @Insert BIT = 0;
DECLARE @Delete BIT = 0;
IF EXISTS (SELECT * FROM inserted) SET @Insert = 1;
IF EXISTS (SELECT * FROM deleted) SET @Delete = 1;
INSERT INTO ___ (TableName, EventType, UserAccount, EventDate)
SELECT 'Orders' AS TableName
,CASE WHEN @Insert = 1 AND @Delete = 0 THEN 'INSERT'
WHEN @Insert = 1 AND @Delete = 1 THEN 'UPDATE'
WHEN @Insert = 0 AND @Delete = 1 THEN 'DELETE'
END AS Event
,ORIGINAL_LOGIN() AS UserAccount
,GETDATE() AS EventDate;