How do I fire a before update trigger only one or some particular fields are updated and not fire when other fields are updated as it causes duplicate record in other object
Asked
Active
Viewed 1.3k times
1 Answers
15
Triggers aren't granular like that. In the before update trigger, use the Trigger.New
and Trigger.OldMap
variables to compare each new record to see if the fields you're interested in have changed.
for (Opportunity newOpp : Trigger.new) {
Opportunity oldOpp = Trigger.oldMap.get(newOpp.Id);
if (oldOpp.Name != newOpp.Name) {
// do something
}
}

Jeremy Ross
- 11,544
- 3
- 36
- 36
-
Can you give me a small example. I am kind of new to salesforce – user1048080 Dec 29 '11 at 18:31
-
`Map
NewRecords = Trigger.NewMap;` http://www.salesforce.com/us/developer/docs/apexcode/index_CSH.htm#apex_triggers_context_variables.htm – Matt K Dec 29 '11 at 19:35