SQL Server nemá způsob, jak definovat výchozí hodnotu pro UPDATE
.
Musíte tedy přidat sloupec s výchozí hodnotou pro vložení:
ADD modstamp DATETIME2 NULL DEFAULT GETDATE()
A přidejte na ten stůl spouštěč:
CREATE TRIGGER tgr_modstamp
ON **TABLENAME**
AFTER UPDATE AS
UPDATE **TABLENAME**
SET ModStamp = GETDATE()
WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)
A ano, musíte zadat sloupec identity pro každý spouštěč.
POZOR:buďte opatrní při vkládání sloupců do tabulek, kde neznáte kód aplikace. Pokud má vaše aplikace příkaz INSERT VALUES bez definice sloupce, vyvolá chyby i s výchozí hodnotou v nových sloupcích.