LoslegenKostenlos loslegen

Tabellenüberwachung mit Triggern

Das Unternehmen hat beschlossen, Änderungen an allen wichtigsten Tabellen nachzuverfolgen. Eine dieser Tabellen ist Orders.

Jede Änderung am Inhalt von Orders soll in TablesAudit eingetragen werden.

Diese Übung ist Teil des Kurses

Trigger in SQL Server erstellen und optimieren

Kurs anzeigen

Anleitung zur Übung

  • Erstelle einen neuen AFTER-Trigger für die Tabelle Orders.
  • Richte den Trigger so ein, dass er bei INSERT-, UPDATE- und DELETE-Anweisungen ausgelöst wird.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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 bearbeiten und ausführen