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
Anleitung zur Übung
- Erstelle einen neuen
AFTER-Trigger für die TabelleOrders. - Richte den Trigger so ein, dass er bei
INSERT-,UPDATE- undDELETE-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;