Pentru a detalia puţin răspunsul lui Bogdan, precizez că în SQL Server trigger-ii sunt lansaţi în execuţie o singură dată pentru fiecare instrucţiune care modifică datele din tabela respectivă, nu pentru fiecare rând modificat. În aceste condiţii, nu are cum să existe o funcţie de genul "last modified" (care ar returna un singur rând), pentru că trebuie să ne precizeze toate rândurile modificate; deci singura modalitate de a afla rândurile modificate este să folosim pseudo-tabelele inserted şi deleted.
Pentru a face legătura dintre inserted şi tabela noastră este esenţial să existe o cheie unică (altfel am putea să credem că s-au modificat mai multe rânduri decât s-au modificat în realitate). Dacă nu există nicio cheie unică, atunci cel mai simplu este să creăm o coloană de tip int cu atributul IDENTITY (având un nume prestabilit, de exemplu TheID). Dacă există o cheie unică, dar nu ştim care este, am putea să o căutăm în sysindexes, dar e relativ complicat, pentru că am putea găsi o cheie unică formată din mai multe coloane (eventual, am putea simplifica problema căutând doar indecşi care au keycnt=1).
Răzvan