SQL Server n'a aucun moyen de définir une valeur par défaut pour UPDATE
.
Vous devez donc ajouter une colonne avec une valeur par défaut pour insérer :
ADD modstamp DATETIME2 NULL DEFAULT GETDATE()
Et ajoutez un déclencheur sur cette table :
CREATE TRIGGER tgr_modstamp
ON **TABLENAME**
AFTER UPDATE AS
UPDATE **TABLENAME**
SET ModStamp = GETDATE()
WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)
Et oui, vous devez spécifier une colonne d'identité pour chaque déclencheur.
ATTENTION :soyez prudent lorsque vous insérez des colonnes dans des tables dont vous ne connaissez pas le code de l'application. Si votre application a la commande INSERT VALUES sans définition de colonne, elle générera des erreurs même avec la valeur par défaut sur les nouvelles colonnes.