salesforce中现有记录中的字段未更新

salesforce中现有记录中的字段未更新,salesforce,Salesforce,您好,我已经写了触发器和apex类如下,但这并没有更新帐户对象中的现有记录,我正在尝试更新亚马逊帐户的网站 trigger AccountTrigger on Account (After Insert) { if(Trigger.isAfter==true && Trigger.isInsert==true){ updateAmazon.check(); } } public class updateAmazon{ public static void Check

您好,我已经写了触发器和apex类如下,但这并没有更新帐户对象中的现有记录,我正在尝试更新亚马逊帐户的网站

trigger AccountTrigger on Account (After Insert) {

if(Trigger.isAfter==true && Trigger.isInsert==true){

updateAmazon.check();


}
}


public class updateAmazon{

public static void Check(){


List<Account> Listrecord=new List<Account>();

Listrecord=[SELECT name,website from account where name='Amazon'];


List<Account> UpdateList=new List<Account>();

for(Account acc:Listrecord){

acc.website='www.amazon.com';

UpdateList.add(acc);

}

update UpdateList;

}

}
trigger AccountTrigger on Account(插入后){
if(Trigger.isAfter==true&&Trigger.isInsert==true){
updateAmazon.check();
}
}
公共类UpdateMapson{
公共静态无效检查(){
List Listrecord=新列表();
Listrecord=[从帐户中选择网站名称,其中name='Amazon'];
列表更新列表=新列表();
对于(科目科目:列表记录){
acc.website='www.amazon.com';
UpdateList.add(acc);
}
更新更新列表;
}
}
请帮助,除非我创建新记录,否则现有记录不会更新


感谢您的评论,我不确定这是否是一个触发点,除非您希望插入更多名为Amazon的帐户。如果是,那么您应该执行以下两个步骤

第一步

  • 开放式开发人员控制台
  • 打开“执行匿名顶点”
  • 将check方法中的代码粘贴到窗口中并执行它
这将更新您现有的所有amazon帐户

第2步-修改你的触发器

trigger AccountTrigger on Account (before Insert) {
    for(Account a: Trigger.New)
    {
       if(a.Name == 'Amazon')
       {
          a.website='www.amazon.com'
       }
    }
}

这将确保创建的任何“亚马逊”帐户都能设置网站。您应该首先创建此触发器,然后运行匿名apex

你能更具体地说明你的目标吗?我不确定触发器中是否存在这种逻辑。但是对于您的语句“除非我创建一个新记录,否则现有记录不会得到更新”是正确的,因为您只按照类定义“触发器AccountTrigger on Account(after insert)”在after insert触发器中编写了此语句因此,它只会在创建新帐户时启动。感谢如何为现有记录启动它,我只想更新现有记录而不创建新记录。例如,我已经有10个名为Amazon的帐户记录,并且希望在不添加新记录的情况下更新这些记录的网站信息