Aan de slagBegin gratis

Tabelauditing met triggers

Het bedrijf heeft besloten wijzigingen bij te houden die in de belangrijkste tabellen worden aangebracht. Een van die tabellen is Orders.

Elke wijziging in de inhoud van Orders moet worden weggeschreven naar TablesAudit.

Deze oefening maakt deel uit van de cursus

Triggers in SQL Server bouwen en optimaliseren

Bekijk cursus

Oefeninstructies

  • Maak een nieuwe AFTER trigger op de tabel Orders.
  • Stel de trigger zo in dat hij afgaat bij INSERT-, UPDATE- en DELETE-instructies.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

-- 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;
Code bewerken en uitvoeren