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
<cours>Créer et optimiser des déclencheurs dans SQL Server</cours>Instructions de l’exercice
- 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 ce code d’exemple.
-- 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;