用于记录创建和修改的顶点代码

时间:2012-05-31 11:22:26

标签: cloud salesforce apex-code

我不熟悉在salesforce.com的APEX中编写代码。我有一个包含10个字段的Object'UnProc',它是'POPULATED'。我还有两个对象(“帐户和联系人”),每个对象有5个字段,这些对象必须填充。我必须使用批处理顶点和调度程序编写一个APEX代码,以便我可以为“帐户”和“联系人”创建新记录,然后在“UnProc”中已经存在记录。在帐户和联系人字段填充UnProc记录后。必须删除UnProc记录。

我已经在saleforce.com上阅读了批处理apex和调度程序相关的文档,并且已经理解并创建了它们的类结构。我被困在哪里是记录检索,创作的东西等数据库是我的弱点,这就是为什么我无法通过它。 Pseoudo代码或一些代码行可能很有用。

1 个答案:

答案 0 :(得分:2)

通常使用SOQL在Apex代码中从数据库中检索记录。基本语法概述为here

从数据库中检索记录并将其作为sObjects发送回数据库,sObjects本质上是字段的集合。 SOQL查询通常会返回一个sObject列表,如下所示:

list<UnProc__c> unProcs = [select accountField1__c, accountField2__c, ... contactField1__c, contactField2__c, ... contactField5__c from UnProc__c];

一旦检索了这些记录,就可以通过简单地创建Account和Contact sObjects列表,从UnProc对象填充它们的字段然后将它们提交到数据库来创建新的Account和Contact记录,如下所示:

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中,您应该在记录集合中检索并提交数据库,而不是单独检索,因为您可以在单个执行上下文中运行多少查询和提交。