CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Créez un nouveau déclencheur AFTER sur la table Orders.
  • Configurez le déclencheur pour qu’il se déclenche sur les instructions INSERT, UPDATE et DELETE.

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;
Modifier et exécuter le code