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
Petunjuk latihan
- Buat
AFTERtrigger baru pada tabelOrders. - Atur pemicu agar berjalan untuk pernyataan
INSERT,UPDATE, danDELETE.
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;