Skip to main content
i made a custom object to test some logic I am trying to learn.  i could have used the standard object account, but wanted to isolate my changes in a custom object.

the custom object is hpzaccount.

there is a field in this table called name.

I made a 2nd field in the table called name_unique.

name_unique is a read only-field that does not permit dups.

whenever a new record is added or updated to hpzaccount,  the trigger sets

   name_unique__c = name;

the non-bulk version of this trigger works fine. It is

trigger create_unique_name on hpzaccount__c (before insert, before update) {

for (hpzaccount__c    hpza : Trigger.new){

  hpza.name_unique__c = hpza.name;

}

}

but i want to bulk up the trigger so that it works with dataloader.

I am getting a syntax error that I cannot figure out. can you help?

  

trigger create_unique_name on hpzaccount__c ( before insert, before update) {

    List< hpzaccount__c >  hpzlist  = new List< hpzaccount__c >{};

     //Loop through all records in the Trigger.new collection

   for(hpzaccount__c   hpza  :  Trigger.new){

        

      //Concatenate fields to list

        hpzlist.name = hpza.name;

       hpzlist.name_unique__c = hpza.name;

                                                             }

Insert hpzlist;

  }      

 
2 respostas
  1. 12 de out. de 2015, 19:05
    Hi Howard,

    But this is bulk trigger

    trigger create_unique_name on hpzaccount__c (before insert, before update) {

    for (hpzaccount__c hpza : Trigger.new){

    hpza.name_unique__c = hpza.name;

    }

    }

    In this trigger you can not perform any dml/soql. In before trigger action you can change field value without dml on trigger objects.

    Thanks,

    Alex

     
0/9000