ÎncepețiÎncepe gratuit

Auditarea tabelelor cu ajutorul triggerelor

Compania a decis să urmărească modificările efectuate în toate tabelele importante. Unul dintre acestea este Orders.

Orice modificare adusă conținutului tabelului Orders trebuie inserată în TablesAudit.

Acest exercițiu face parte din cursul

Crearea și optimizarea triggerelor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un nou trigger AFTER pe tabelul Orders.
  • Setează triggerul să se declanșeze pentru instrucțiunile INSERT, UPDATE și DELETE.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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;
Editează și rulează codul