Der INSERTed-Teil ist einfach - definieren Sie einfach einen Standardwert für diese Spalte und geben Sie keinen Wert für diese Spalte an, wenn Sie eine neue Zeile einfügen.
Der UPDATE-Teil ist komplizierter - Sie müssen eine trigger that fires ON UPDATE schreiben und dann diese Spalte aktualisieren. Ich glaube nicht, dass es in SQL Server eine andere Möglichkeit gibt, dies zu tun.
Frage ist: Brauchen Sie wirklich das tatsächliche Datum des Kalenders? Falls nicht, wenn Sie nur einen "Marker" haben möchten, ob sich eine Zeile geändert hat oder nicht, sehen Sie sich stattdessen die ROWVERSION column type (früher bekannt als TIMESTAMP
) an.
Ich sehe nicht wirklich, wie Sie eine berechnete Spalte dafür verwenden könnten - Sie müssen dieses Datum irgendwo speichern und es mit INSERT und jedem nachfolgenden UPDATE aktuell halten - nur ein Auslöser wird dies schaffen.
Eine berechnete Spalte wird ** nicht ** Arbeit. Wenn Sie den Wert einer berechneten Spalte auf GETDATE() setzen, wird immer das aktuelle Datum und nicht die letzte Aktualisierung zurückgegeben. – egrunin
Wow, ich habe nicht erkannt, dass die berechnete Spalte auf einer Auswahl neu berechnet. Vielen Dank! –
Was passiert, wenn der berechnete Wert beibehalten wird? –