sql >> Database >  >> RDS >> Sqlserver

Tabelgeschiedenistrigger in SQL Server?

Als elke gebruiker een account heeft, kunt u de SYSTEM_USER . gebruiken functie om de huidige gebruiker te bepalen. Als al uw verbindingen echter via een proxy-account gaan, zoals gebruikelijk bij de meeste website-instellingen, dan moet u erop vertrouwen dat de juiste gebruikers-ID wordt doorgegeven aan de update-instructie:

CREATE TRIGGER [update_history] ON MyTable
FOR UPDATE
AS
INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'BEFORE UPDATE', inserted.userId
FROM MyTable
    Join inserted
        On inserted.id = MyTable.id

INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'AFTER UPDATE', userId
FROM inserted


  1. In-memory tabel in PostgreSQL

  2. Geef PHP Array door via jQuery Ajax

  3. Een gids voor database-automatisering met ClusterControl van verschillendenines

  4. Oracle:DDL en transactie terugdraaien