- 首先SFDC里的Trigger和Oracle的Trigger是一个东西,(Oracle里的Trigger怎么用问百度吧!)
- 其次SFDC里的Trigger有些特殊,和注意事项,这里主要讲这里
https://www.simplysfdc.com/2016/12/salesforce-trigger-best-practices.html
https://trailhead.salesforce.com/ja/content/learn/modules/apex_triggers/apex_triggers_intro
https://trailhead.salesforce.com/ja/content/learn/modules/apex_triggers/apex_triggers_bulk
总结以上文章的重点:
- 一个Trigger对应一个Object
-
Trigger里不要些复杂的逻辑,例如一个Object可能存了好多种业务数据,为了将来扩展性,Trigger里只写主要的逻辑判断,
详细业务逻辑,要写在Handler Class里。
-
防止SFDC限制不要在循环里写SOQL,这个和Apex的注意事项是一致的
-
批量处理数据,详细查看《https://editor.csdn.net/md/?articleId=105713115》
-
批量查询数据,详细查看《https://editor.csdn.net/md/?articleId=105713115》
-
Trigger命名要和对应的Object相关联,例如:AccountTrigger
- 最后一起看一下Trigger里Before和After的详细情况。
什么时候用Before,什么时候用After
http://sfdcinpractice.com/index.php/2017/01/09/3-6-difference-trigger/
Before Trigger:
In case of validation check in the same object.
Update the same object.
After Trigger:
Insert/Update related object,not the same object.
Notification Email.
before 和after的不同之处