Are There Other Options for Partial Processing?

DEX450 - Introductions and Overview

📄 第 201 页 🎬 视频课程

课程章节介绍

让我们来聊聊Salesforce中的部分处理选项。首先,你知道在Salesforce中,当我们尝试插入多个记录时,如果其中一条记录失败了,整个操作都会失败,对吧?这就是所谓的“全有或全无”原则。但是,有时候我们可能希望即使有部分记录失败,其他成功的记录也能被插入。这时候,我们就需要用到“部分处理”这个功能。 在Salesforce中,实现部分处理的方法其实只有一种,那就是在使用数据库方法时,将`AllOrNone`参数设置为`false`。这个参数默认是`true`,意味着如果任何一条记录失败,整个操作都会回滚。但如果我们把它设置为`false`,那么即使有部分记录失败,其他成功的记录也会被插入。 举个例子,假设我们有一个联系人列表,我们想用`Database.insert`方法来插入这些联系人。如果我们希望即使有部分联系人插入失败,其他联系人也能成功插入,我们可以这样写代码: ```apex Database.insert(contacts, false); ``` 这里的`contacts`是我们要插入的联系人列表,`false`就是`AllOrNone`参数,表示我们允许部分处理。 另外,你提到的`Database.insert(contacts, true);`,这里的`true`表示我们不允许部分处理,如果任何一条记录失败,整个操作都会失败。 最后,你提到的`Database.insert(contacts, inbox);`,这里的`inbox`可能是一个自定义的参数或者变量,但通常情况下,`Database.insert`方法的第二个参数是用来控制`AllOrNone`的布尔值,所以这个用法可能不太常见。 总结一下,部分处理的唯一方法就是在使用数据库方法时,将`AllOrNone`参数设置为`false`。这样,即使有部分记录失败,其他成功的记录也能被插入。希望这个解释对你有帮助!