Salesforce触发器检测某个字段的改动才触发

在Salesforce中,触发器(Triggers)可以用于在记录(Record)被创建、更新、删除或查询之前或之后执行逻辑。如果你想要在Opportunity对象的特定字段被修改时触发触发器,你可以编写一个触发器,并在触发器逻辑中检查字段的变化。

以下是一个示例触发器,它在Opportunity对象的自定义字段(例如Custom_Field__c)发生变化时触发:

trigger OpportunityTrigger on Opportunity (before update) {
    // 在触发器逻辑中检查字段的变化
    for (Opportunity opp : Trigger.new) {
        Opportunity oldOpp = Trigger.oldMap.get(opp.Id);

        // 检查Custom_Field__c是否发生变化
        if (opp.Custom_Field__c != oldOpp.Custom_Field__c) {
            // 在这里添加你的逻辑,当Custom_Field__c发生变化时执行的操作
            // 例如:触发另一个类、更新相关记录等
            // Your logic here, e.g., trigger another class, update related records, etc.
        }
    }
}

在上面的示例中,OpportunityTrigger 是一个在Opportunity对象上的触发器,它在Opportunity记录被更新之前执行。在触发器的逻辑中,通过比较Trigger.new(更新后的Opportunity记录)和Trigger.oldMap(更新前的Opportunity记录)来检查字段的变化。如果你发现指定的字段(在这里是Custom_Field__c)发生变化,你就可以在条件满足时执行你的逻辑。

请注意,触发器逻辑中的处理应该尽量简单和高效,避免复杂的操作,以确保触发器的执行性能。

你可能感兴趣的:(Salesforce,数据库,salesforce)