什么时候使用 “before” vs “after” triggers
让我给你一个最常见的问题的明确答案:
“我应该使用前触发器还是后触发器?”
95%的触发器在Trigger before-因此,如果您不确定,请使用之前的触发器!
你可能想知道为什么在before触发器有那么多触发器。有一个很好的理由——它们使用起来更简单。如果需要对输入after触发器的记录进行任何更改,则必须执行DML语句。在before触发器中不需要这样做–对输入触发器的记录所做的更改始终保存!
after触发器的特定用例是当您需要将任何记录与在触发器中创建的记录相关联时。下面是一个例子:
// Automatically create an Opp when an Account is created
trigger AutoOpp on Account(after insert) {
List<Opportunity> newOpps = new List<Opportunity>();
for (Account acc : Trigger.new) {
Opportunity opp = new Opportunity();
opp.Name = acc.Name + ' Opportunity';
opp.StageName = 'Prospecting';
opp.CloseDate = Date.today() + 90;
opp.AccountId = acc.Id; // Use the trigger record's ID
newOpps.add(opp);
}
insert newOpps;
}
故事的寓意是:在Before触发是丛林之王!你可以说他们是Salesforce中的“顶尖”捕食者,哈哈哈。。