我有两个来自更新和toBeUpdated的对象。这两个对象都有两个字段aField和bField。我必须编写一个代码,以便在toBeUpdated中插入新记录时。它会检查记录以前是否已存在。 cheked的键是aField,如果aField是两个记录之间的匹配,那么它只是更新另一个字段bField而不创建toBeUpated对象的新记录。
在此操作之后,我还必须删除fromUpdate对象中的所有对象。
我知道query和delete()会提供这个功能,但是如何编写这个功能的SOQL语句是我无法理解的。
任何帮助将不胜感激..
由于
答案 0 :(得分:2)
如果您的意思是如何编写SOQL查询来执行删除和更新,答案是您不能。在许多方面,SOQL与SQL完全不同,以及执行3种不同操作的方式。
upsert
操作以在修改代码中的bField
后插入新行并更新现有记录fromUpdate
对象删除就像你自己说的那样:查询然后删除。
当然,为了保持代码简洁,你可以在单行中执行此操作:
delete [select Id from MyObject__c where SomeField = true];