Linee guida per la pianificazione di trigger DML
Microsoft SQL Server 2005 include due opzioni per la progettazione di trigger DML:
- I trigger INSTEAD OF vengono eseguiti in sostituzione della normale azione di trigger. Possono inoltre essere definiti in viste con una o più tabelle di base e, in tal caso, estendono i tipi di aggiornamenti supportati da una vista.
- I trigger AFTER vengono eseguiti dopo l'esecuzione dell'azione associata all'istruzione INSERT, UPDATE o DELETE. Specificare AFTER equivale a specificare FOR. È possibile specificare i trigger AFTER solo nelle tabelle.
Nella tabella seguente è riportato un confronto tra le funzionalità dei trigger AFTER e INSTEAD OF.
Funzione | Trigger AFTER | Trigger INSTEAD OF |
---|---|---|
Applicabilità |
Tabelle |
Tabelle e viste |
Quantità per tabella o vista |
Multiplo per azione di trigger (UPDATE, DELETE e INSERT) |
Singolo per azione di trigger (UPDATE, DELETE e INSERT) |
Riferimenti di propagazione |
Nessuna restrizione |
I trigger INSTEAD OF UPDATE e DELETE non sono consentiti in tabelle che rappresentano le destinazioni di vincoli di integrità per operazioni referenziali di propagazione |
Esecuzione |
Dopo:
|
Prima di:
In sostituzione di:
Dopo:
|
Ordine di esecuzione |
È possibile specificare la prima e l'ultima esecuzione |
Non applicabile |
Riferimenti di colonna varchar(max), nvarchar(max) e varbinary(max) in tabelle inserted e deleted |
Consentiti |
Consentiti |
Riferimenti di colonna text, ntext e image in tabelle inserted e deleted |
Non consentiti |
Consentiti |
Vedere anche
Concetti
Utilizzo delle tabelle inserted e deleted