Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak utworzyć wyzwalacz, aby śledzić ostatnio zmienione dane

CREATE TRIGGER TRG_Member_U ON Member FOR UPDATE
AS
SET NOCOUNT ON

INSERT MemberLastChanged (memberID, memberName)
SELECT
   D.memberID, D.memberName
FROM
   DELETED D JOIN INSERTED I ON D.memberID = I.memberID
WHERE
   D.memberName <> I.memberName
GO

Ponadto dodaj domyślną wartość GETDATE do dateRegistered, aby była rejestrowana automatycznie.

To również odfiltrowuje fałszywe aktualizacje, porównując nowe i stare wartości (WSTAWIONE vs USUNIĘTE).

INSERTED i DELETED to specjalne tabele dostępne tylko w wyzwalaczu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KRZYŻ ZASTOSUJ do przestrzeni nazw, podwęzły zwracają zduplikowane rekordy

  2. Jak sortować ciąg alfabetycznie?

  3. Jak wstawić do tabeli tymczasowej informacje podane przez RESTORE FILELISTONLY / HEADERONLY / VERIFYONLY

  4. Zamów kolumnę według niskiego, średniego, wysokiego?

  5. Skrypt inwentaryzacji kolekcji SQL Server -1