ComenzarEmpieza gratis

Auditoría de tablas con triggers

La empresa ha decidido registrar los cambios realizados en las tablas más importantes. Una de esas tablas es Orders.

Cualquier modificación en el contenido de Orders debe insertarse en TablesAudit.

Este ejercicio forma parte del curso

Crear y optimizar desencadenadores en SQL Server

Ver curso

Instrucciones del ejercicio

  • Crea un nuevo trigger AFTER en la tabla Orders.
  • Configura el trigger para que se dispare en sentencias INSERT, UPDATE y DELETE.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

-- 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;
Editar y ejecutar código