You need to sign in to do that
Don't have an account?
howard zien 24
having problems bulkifying a trigger
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;
}
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;
}
But this is bulk trigger 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
All Answers
But this is bulk trigger 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
Howard