Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Trigger zum Einfügen von Updates, um festzustellen, ob Einfügen oder Aktualisieren

Trigger haben spezielle INSERTED und DELETED Tabellen, um „vorher“- und „nachher“-Daten zu verfolgen. Sie können also so etwas wie IF EXISTS (SELECT * FROM DELETED) verwenden um ein Update zu erkennen. Sie haben nur Zeilen in DELETED beim Update, aber es gibt immer Zeilen in INSERTED .

Suchen Sie in CREATE TRIGGER nach „inserted“.

Bearbeiten, 23. November 2011

Nach dem Kommentar ist diese Antwort nur für INSERTED und UPDATED Trigger.
Offensichtlich können DELETE-Trigger nicht "always rows in INSERTED haben " wie ich oben sagte