我在插入触发器之后有这个,它根据连接更新两个不同的列。基本上它将一个 Id 变成一个值。这工作正常,除非其中一个 Id 不匹配(即默认为零)然后两者都没有更新。如果连接失败,它应该只插入 null。
CREATE TRIGGER [AfterHistoryInsert]
ON [Jet].[HistoryEntity]
FOR INSERT
AS
BEGIN
Update t1 Set t1.OldValue = t2.Value, t1.NewValue = t3.Value
From Jet.HistoryEntity t1
join Jet.LookupListItemEntity t2 on Cast(t1.OldValue as int) = t2.Id
join Jet.LookupListItemEntity t3 on Cast(t1.NewValue as int) = t3.Id
inner join inserted i on i.Id = t1.Id
where t1.FieldName like '%Id'
END
格雷格