Salesforce 如何在帐户对象上写入触发器,如果已有记录,然后根据您的需要更新一些字段,或者创建新记录?

Salesforce 如何在帐户对象上写入触发器,如果已有记录,然后根据您的需要更新一些字段,或者创建新记录?,salesforce,Salesforce,如何在帐户对象(SalesFrice)上写入触发器,如果现有记录已存在,则根据您的其他信息更新某些字段以创建新记录 谢谢使用upsert怎么样?它允许您插入记录或更新(如果已存在)在单个智能命令中插入和更新。 您希望更新记录,如果该记录不存在,请创建一个新记录。 使用upsert可以首先尝试获取记录(如果找不到记录,则创建新实例),然后设置字段,最后将其upsert 比如: “向上插入”是最好的方法。如果记录存在,它将帮助您更新记录,或者创建新记录 Account[] acctsList = [

如何在帐户对象(SalesFrice)上写入触发器,如果现有记录已存在,则根据您的其他信息更新某些字段以创建新记录


谢谢

使用
upsert
怎么样?它允许您插入记录或更新(如果已存在)<代码>在单个智能命令中插入和更新。 您希望更新记录,如果该记录不存在,请创建一个新记录。 使用
upsert
可以首先尝试获取记录(如果找不到记录,则创建新实例),然后设置字段,最后将其upsert

比如:


“向上插入”是最好的方法。如果记录存在,它将帮助您更新记录,或者创建新记录

Account[] acctsList = [SELECT Id, Name, BillingCity FROM Account WHERE BillingCity = 'Bombay'];
 for (Account a : acctsList) {
    a.BillingCity = 'Mumbai';
}
Account newAcct = new Account(Name = 'Acme', BillingCity = 'San Francisco');
  acctsList.add(newAcct);
try {
   upsert acctsList;
} catch (DmlException e) {
  // Process exception here
}
Account[] acctsList = [SELECT Id, Name, BillingCity FROM Account WHERE BillingCity = 'Bombay'];
 for (Account a : acctsList) {
    a.BillingCity = 'Mumbai';
}
Account newAcct = new Account(Name = 'Acme', BillingCity = 'San Francisco');
  acctsList.add(newAcct);
try {
   upsert acctsList;
} catch (DmlException e) {
  // Process exception here
}