通常使用 SOQL 从 Apex 代码中的数据库中检索记录。此处概述了基本语法。
从数据库中检索记录并作为 sObjects 发送回数据库,这些sObjects 本质上是字段的集合。SOQL 查询通常会返回一个 sObject 列表,如下所示:
list<UnProc__c> unProcs = [select accountField1__c, accountField2__c, ... contactField1__c, contactField2__c, ... contactField5__c from UnProc__c];
检索到这些记录后,您可以创建新的 Account 和 Contact 记录,只需创建 Account 和 Contact sObjects 的列表,从 UnProc 对象填充它们的字段,然后将它们提交到数据库,如下所示:
list<Account> accs = new list<Account>();
list<Contact> cons = new list<Contact>();
Account acc;
Contact con;
for(UnProc__c up : unProcs) {
acc = new Account();
con = new Contact();
acc.field1 = up.accountField1;
acc.field2 = up.accountField2;
...
con.field1 = up.contactField1;
con.field2 = up.contactField2;
...
con.field5 = up.contactField5;
accs.add(acc);
cons.add(con);
}
database.insert(accs);
database.insert(cons);
在 Apex 中,您应该在记录集合中检索并提交到数据库,而不是单独提交,因为在单个执行上下文中可以运行的查询和提交数量是有限的。