BaşlayınÜcretsiz Başlayın

Tetikleyicilerle tablo denetimi

Şirket, en önemli tabloların tümünde yapılan değişiklikleri takip etmeye karar verdi. Bu tablolardan biri de Orders.

Orders içeriğinde yapılan her değişiklik TablesAudit tablosuna eklenmelidir.

Bu egzersiz

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Orders tablosu üzerinde yeni bir AFTER tetikleyicisi oluştur.
  • Tetikleyiciyi INSERT, UPDATE ve DELETE ifadeleri için çalışacak şekilde ayarla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- 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;
Kodu Düzenle ve Çalıştır