11

如果有人能指导我检查更新前/后触发器内的更新调用中是否包含特定字段,我将不胜感激。非常感谢。

4

2 回答 2

14

所有字段始终存在于触发器中,无论它们是否脏,要确定特定字段是否已被修改,您必须使用oldMapmap检索该行的先前版本,Map<ID, sObject>并比较新旧值。例如

trigger CaseOnParticularFieldUpdate on Case (before update) {
    for (Case c: Trigger.new) {
        Case oldCase = Trigger.oldMap.get(c.ID);
        if (c.Field != oldCase.Field) {
            // field was updated, do some magic here
        }
    }
}
于 2011-04-05T09:39:51.520 回答
1

触发器将包括调用它的 sobject 的所有字段。您可以检查该对象中任何字段的先前(旧)值和当前(新)值,并可以对其进行比较并进行相应的操作。

希望它可以帮助你。

于 2014-05-12T12:04:39.297 回答