更新已包含的记录

时间:2012-06-03 09:50:34

标签: cloud salesforce apex-code

我有两个来自更新和toBeUpdated的对象。这两个对象都有两个字段aField和bField。我必须编写一个代码,以便在toBeUpdated中插入新记录时。它会检查记录以前是否已存在。 cheked的键是aField,如果aField是两个记录之间的匹配,那么它只是更新另一个字段bField而不创建toBeUpated对象的新记录。

在此操作之后,我还必须删除fromUpdate对象中的所有对象。

我知道query和delete()会提供这个功能,但是如何编写这个功能的SOQL语句是我无法理解的。

任何帮助将不胜感激..

由于

1 个答案:

答案 0 :(得分:2)

如果您的意思是如何编写SOQL查询来执行删除和更新,答案是您不能。在许多方面,SOQL与SQL完全不同,以及执行3种不同操作的方式。

  1. 首先查找需要使用SOQL查询更新的匹配记录
  2. 执行upsert操作以在修改代码中的bField后插入新行并更新现有记录
  3. fromUpdate对象
  4. 中删除需要删除的记录

    删除就像你自己说的那样:查询然后删除。

    当然,为了保持代码简洁,你可以在单行中执行此操作:

    delete [select Id from MyObject__c where SomeField = true];