MulaiMulai sekarang secara gratis

Audit tabel menggunakan trigger

Perusahaan memutuskan untuk melacak perubahan yang dibuat pada semua tabel terpenting. Salah satunya adalah Orders.

Setiap modifikasi pada konten Orders harus dimasukkan ke dalam TablesAudit.

Latihan ini adalah bagian dari kursus

Membangun dan Mengoptimalkan Trigger di SQL Server

Lihat Kursus

Petunjuk latihan

  • Buat AFTER trigger baru pada tabel Orders.
  • Atur pemicu agar berjalan untuk pernyataan INSERT, UPDATE, dan DELETE.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- 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;
Edit dan Jalankan Kode