0

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

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

我知道 query 和 delete() 会提供这个功能,但是我不知道如何为这个功能编写 SOQL 语句。

任何帮助,将不胜感激..

谢谢

4

1 回答 1

2

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

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

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

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

delete [select Id from MyObject__c where SomeField = true];
于 2012-06-04T04:24:04.633 回答