如果有人能指导我检查更新前/后触发器内的更新调用中是否包含特定字段,我将不胜感激。非常感谢。
问问题
19936 次
2 回答
14
所有字段始终存在于触发器中,无论它们是否脏,要确定特定字段是否已被修改,您必须使用oldMap
map检索该行的先前版本,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 回答