La parte INSERTed è semplice: basta definire un valore predefinito su quella colonna e quando si inserisce una nuova riga, non specificare un valore per quella colonna.
La parte UPDATE è più complicata: è necessario scrivere un trigger that fires ON UPDATE e quindi aggiornare quella colonna. Non penso che ci sia un altro modo per farlo in SQL Server.
La domanda è: hai davvero bisogno della data del calendario attuale? In caso contrario, se si desidera solo avere un "indicatore" sul fatto che una riga sia stata modificata o meno, controllare lo ROWVERSION column type (precedentemente noto come TIMESTAMP
).
Non vedo davvero come si possa usare una colonna calcolata per questo - è necessario memorizzare quella data da qualche parte, e tenerla corrente con INSERT e ogni successivo AGGIORNAMENTO - solo un trigger riuscirà a farlo.
fonte
2010-05-12 21:24:31
una colonna calcolata sarà ** non ** lavoro. Se si imposta il valore di una colonna calcolata su GETDATE(), verrà sempre restituita la data * corrente *, non l'ultimo aggiornamento. – egrunin
Wow non mi sono reso conto che la colonna calcolata ricalcola su una selezione. Grazie! –
Cosa succede se il valore calcolato è persistente? –