SQL Server nie ma sposobu na zdefiniowanie domyślnej wartości dla UPDATE
.
Musisz więc dodać kolumnę z domyślną wartością do wstawienia:
ADD modstamp DATETIME2 NULL DEFAULT GETDATE()
I dodaj wyzwalacz do tej tabeli:
CREATE TRIGGER tgr_modstamp
ON **TABLENAME**
AFTER UPDATE AS
UPDATE **TABLENAME**
SET ModStamp = GETDATE()
WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)
I tak, musisz określić kolumnę tożsamości dla każdego wyzwalacza.
UWAGA:zachowaj ostrożność podczas wstawiania kolumn w tabelach, w których nie znasz kodu aplikacji. Jeśli Twoja aplikacja ma polecenie INSERT VALUES bez definicji kolumny, zgłosi błędy nawet z wartością domyślną w nowych kolumnach.