Upsert Data

DEX402 - Module 2: Building Your Data Model Declaratively

📄 第 60 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce中的“Upsert”操作。这个词听起来可能有点复杂,但其实它很简单,就是把“插入”(Insert)和“更新”(Update)两个操作合二为一了。想象一下,你有一堆数据要放进Salesforce,有些数据是新的,需要插入;有些数据是旧的,需要更新。Upsert就是帮你一次性搞定这两件事。 那么,Upsert是怎么知道哪些数据要插入,哪些要更新呢?它有两种方式来判断:一种是使用Salesforce的ID,另一种是使用外部ID。外部ID就像是你在Salesforce外面给数据贴的标签,Salesforce可以通过这个标签来识别数据。 当你导入大量数据时,使用Upsert特别有用,因为它可以防止你创建重复的数据。比如,你有一千条数据要导入,但其中有些数据可能已经在Salesforce里了。如果你用Upsert,Salesforce会自动检查,如果数据已经存在,就更新它;如果不存在,就插入它。这样你就不用担心重复数据的问题了。 还有一个小技巧,即使你要加载的数据是全新的,或者你确定所有数据都需要更新,也建议使用Upsert。为什么呢?因为在加载大量数据时,可能会遇到网络问题,比如突然断网了。如果你用的是Insert或Update,断网后你可能不知道哪些数据已经成功加载了,哪些没有。但如果你用的是Upsert,断网后你只需要重新提交数据,Salesforce会自动处理,不会出现重复或遗漏的问题。 最后,我们来看几个测试结果。如果你在Salesforce对象中使用了外部ID,但外部ID重复了,Salesforce会返回一个错误,告诉你“找到外部ID字段的多条记录”。如果你在CSV文件中有重复的ID,而且这些ID在同一批次内,Salesforce也会返回错误,告诉你“指定了重复的外部ID”。但如果重复的ID不在同一批次内,Salesforce不会报错,它会用最后一次更新的数据覆盖之前的数据。 好了,这就是关于Upsert的简单介绍。希望你们能理解并记住这个小技巧,它会让你的数据管理工作更加轻松高效!