Antonio Budano
2006-02-09 15:45:16 UTC
Ciao,
Devo modificare una mia applicazione aggiungendo su alcune tabelle la
scrittura di un file di log tenendo traccia dei valori modificati.
per fare cio', ho pensato di utilizzar i trigger AFTER INSERT, AFTER DELETE,
AFTER UPDATE.
Prima di partire per questa avventura, vorrei avere qualche conferma sui
test che ho fatto, specie nell'uso delle tabelle INSERTED e DELETED
disponibili nei trigger.
1. Le tabelle INSERTED e DELETED contengono un solo record, quindi per
leggere i dati e' suffiecente fare SELECT MyField from INSERTED senza WHERE,
corretto?
2. In fase di UPDATE, la tabella INSERTED contiene i nuovi valori, mentre la
tabella DELETED contiene i valori prima dell'aggiornamento, corretto?
3. In fase di INSERT devo usare la tabella INSERTED mentre in fase di DELETE
uso la DELETED (domanda ovvia, ma chi domanda non commette errori...),
corretto?
Qualche altro suggerimento/raccomandazione nell'uso dei trigger?
Grazie
Antonio
Devo modificare una mia applicazione aggiungendo su alcune tabelle la
scrittura di un file di log tenendo traccia dei valori modificati.
per fare cio', ho pensato di utilizzar i trigger AFTER INSERT, AFTER DELETE,
AFTER UPDATE.
Prima di partire per questa avventura, vorrei avere qualche conferma sui
test che ho fatto, specie nell'uso delle tabelle INSERTED e DELETED
disponibili nei trigger.
1. Le tabelle INSERTED e DELETED contengono un solo record, quindi per
leggere i dati e' suffiecente fare SELECT MyField from INSERTED senza WHERE,
corretto?
2. In fase di UPDATE, la tabella INSERTED contiene i nuovi valori, mentre la
tabella DELETED contiene i valori prima dell'aggiornamento, corretto?
3. In fase di INSERT devo usare la tabella INSERTED mentre in fase di DELETE
uso la DELETED (domanda ovvia, ma chi domanda non commette errori...),
corretto?
Qualche altro suggerimento/raccomandazione nell'uso dei trigger?
Grazie
Antonio