Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да създадете тригер за проследяване на последните променени данни

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

Освен това добавете GETDATE по подразбиране към dateRegistered, така че да се записва автоматично.

Това също филтрира фиктивните актуализации чрез сравняване на нови и стари стойности (ВМЪКНАТО срещу ИЗТРИТО).

INSERTED и DELETED са специални таблици, налични само в тригер.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете централна заявка в sql сървър без агрегатна функция

  2. SQL заявка за групиране по ден

  3. Асинхронно извикване на съхранена процедура на SQL Server в C#

  4. Как да получите стойността на автоматично нарастване на последния ред при вмъкване

  5. Вземете най-новите актуализирани записи