课程章节介绍
同学们,今天我们来看一下在Apex里面执行TLR操作的两种方法。TLR操作听起来可能有点陌生,其实你完全可以把它理解成对记录进行增删改,也就是我们常说的数据库操作。
Apex给了我们两种方式来完成这件事。第一种叫做TLR陈述,这其实就是像 insert、update、delete 这样的语句,写起来非常简单。不过,如果有一条记录出现问题,那整个操作就会失败,并且会马上抛出一个异常,你可以在代码里用 try-catch 抓住它,然后去处理。
第二种方式是使用数据库类的方法,比如 Database.insert、Database.update 等等。这种方法更灵活,因为它允许你设置部分记录处理。你在调用这些方法的时候,可以在第二个参数那里给它传一个布尔值。如果改成 true,那即使某几条记录出错了,剩下那些没问题的记录依然可以正常保存成功。而且这时候,它不会抛出异常,而是会返回一个结果对象的数组。这个数组里,每一个元素都对应一条记录的处理状态,以及出错时附带的错误信息,你可以一条一条去检查。
总结一下,如果你希望一遇到错误就立刻中断,把问题暴露出来,那就用TLR陈述,简单直接。如果你希望操作能够部分成功,只让有问题的记录失败,那你就用数据库类方法,并且记得第二个参数写 true,再去处理返回的结果数组。这样,你的程序就会更健壮,不会因为一颗老鼠屎坏了一锅粥啦。
关键词
Apex
Salesforce
Developer Guide