J'ai une table avec 3 champs [ID, nom, lâché].
[.
Lorsque je gère plutôt une mise à jour sur la table, je voudrais que ce champ soit réinitialisé sur le getDate actuel ().
CREATE TRIGGER dbo.Table1_Updated
ON dbo.Table1
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE dbo.Table1 SET LastUpdated = GETDATE()
END
GO
Mais parce que je n'ai pas de clause où, tous les enregistrements sont mis à jour.
Question :
[.____] Où aurais-je la valeur de l'ID de l'enregistrement mis à jour sur un déclencheur de mise à jour?
Le fait que je mettais à la mise à jour d'un champ de la table dans la gâchette, rappelez-vous un nouvel événement de déclenchement (etc.)?
De "inséré", la table insérée est courante à la fois à l'insert, à la mise à jour de la gâchette.
CREATE TRIGGER dbo.Table1_Updated
ON dbo.Table1
FOR INSERT, UPDATE /* Fire this trigger when a row is INSERTed or UPDATEd */
AS BEGIN
UPDATE dbo.Table1 SET dbo.Table1.LastUpdated = GETDATE()
FROM INSERTED
WHERE inserted.id=Table1.id
END
Update table1
set LastUpdated = getdate()
from inserted i, table1 a
where i.pk1 = a.pk1
CREATE TRIGGER dbo.refreshModifyDate
ON tStoreCategoriesImages
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
update t set t.ModifyDate = getdate() from tStoreCategoriesImages t
inner join inserted i on i.ID = t.ID
END
GO