Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserisci Aggiorna trigger come determinare se inserire o aggiornare

I trigger hanno uno speciale INSERTED e DELETED tabelle per tenere traccia dei dati "prima" e "dopo". Quindi puoi usare qualcosa come IF EXISTS (SELECT * FROM DELETED) per rilevare un aggiornamento. Hai solo righe in DELETED in aggiornamento, ma ci sono sempre righe in INSERTED .

Cerca "inserito" in CREATE TRIGGER.

Modifica, 23 novembre 2011

Dopo il commento, questa risposta è solo per INSERTED e UPDATED trigger.
Ovviamente, i trigger DELETE non possono avere "sempre righe in INSERTED " come ho detto sopra