Triggers — Overview & Syntax

DEX455 - 运行 Apex:匿名块、触发器与执行顺序完全指南

📄 第 229 页 🎬 视频课程

课程章节介绍

同学们,今天我们来看一下Apex里一个非常重要的概念——触发器。你可以把它理解成一种自动执行的代码,它能响应记录的变化,比如插入、更新、删除、合并、upsert甚至是取消删除这些操作。而且,它可以选择在操作发生之前或者之后运行。 我们先说before触发器,它在记录保存之前执行。最常见的作用就是提前更新字段的值,或者做一些数据校验。比如,你可以在保存之前检查一下金额是不是负数,如果不是,就自动填个默认值。 再来看after触发器,它在记录保存之后执行。这时候记录已经生成了Id和最后修改时间这些系统字段,所以你可以拿到它们来给别的记录做关联。但需要注意一点:在after触发器里,Trigger.new这个上下文变量是只读的,你不能再去修改当前这条记录的字段了,不过你可以用它来更新其他对象。 还有几个规则要记住:触发器代码里不能用static关键字;所有的数据库变更都是事务性的——操作成功就自动提交,中间一旦出错就整体回滚,很安全。最后,如果你用了upsert操作,系统会根据记录是否已存在,智能地触发对应的插入或更新触发器,不会重复执行。 好,关于触发器的基本要点就这些,大家可以先消化一下。

关键词

Apex Salesforce Developer Guide