- 首先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.youkuaiyun.com/md/?articleId=105713115》
-
批量查询数据,详细查看《https://editor.youkuaiyun.com/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的不同之处


本文探讨了Salesforce(SFDC)中触发器的最佳实践,包括触发器与Oracle触发器的相似性,触发器的使用场景,如Before和After的区别,以及如何避免循环中的SOQL查询,以提高性能。强调了触发器应专注于基本逻辑判断,复杂业务逻辑应放置于HandlerClass中,以确保系统的可扩展性和维护性。
1502

被折叠的 条评论
为什么被折叠?



