Mulai sekarangMulai 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 merupakan bagian dari kursus

Membangun dan Mengoptimalkan Trigger di SQL Server

Lihat Kursus

Instruksi latihan

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

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

-- 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