Salesforce: Order of Execution
1. 从数据库加载original record(或初始化insert语句)
2. 从request中加载新的record field values, 并覆盖old values
3. 执行所有的before trigger
4. 执行System validation. 例如验证所有的required field是否为空,并运行validation rules
5. record已保存到数据库,但尚未committed
6. 执行所有的after trigger
7. 执行assignment rules
8. 执行Auto-response rules
9. 执行workflow rules
10. 如果有workflow field updates, 则record再次更新
11. 如果record通过workflow field updates进行了更新,则before trigger和after trigger会再触发一次(仅再多触发这一次)
12. 执行Escalation rules
13. 所有DML操作都committd到数据库
14. 执行committed之后的操作,例如send emails
参考文档:https://www.x2od.com/2008/11/09/salesforce-order-of-execution.html