Запустить триггер обновления при обновлении определенного поля - PullRequest
6 голосов
/ 29 декабря 2011

Как запустить триггер до обновления, только одно или несколько определенных полей обновляются и не запускаются при обновлении других полей, так как это приводит к дублированию записи в другом объекте

1 Ответ

15 голосов
/ 29 декабря 2011

Триггеры не такие гранулярные. В триггере перед обновлением используйте переменные Trigger.New и Trigger.OldMap, чтобы сравнить каждую новую запись и увидеть, изменились ли интересующие вас поля.

for (Opportunity newOpp : Trigger.new) {
    Opportunity oldOpp = Trigger.oldMap.get(newOpp.Id);
    if (oldOpp.Name != newOpp.Name) {
        // do something
    }
}
...