You need to sign in to do that
Don't have an account?
aswanijagadesh1.397398535585991E12
i want to update records if newly entered name is consist in the previous records else insert 10 records with newly entered name
hai friends
for this i wrote like this
trigger upserttest on Account (before insert) {
if(trigger.isInsert)
{
account acc1;
List<Account> lisAcc=trigger.new;
list<Account> incAcc=new List<Account>();
for(Account acc:lisAcc)
{
List<Account> preacc=[select name from account where name=:acc.name];
system.debug('333333333333'+preacc.size());
if(preacc.size()>0)
{
system.debug('555555555'+preacc[0].name);
for(Account prea:preacc)
{
prea.name=prea.name+'ing';
update prea;
}
}
else
{
if(trigger.isBefore)
for(integer i=0;i<10;i++)
{
acc1=new account(name=acc.name);
//acc.name=acc.name;
insert acc1;
}
}
}
}
}
it is updating previous records but if newly entered name is not there it is not inserting 10 record of new name
please help me for this
for this i wrote like this
trigger upserttest on Account (before insert) {
if(trigger.isInsert)
{
account acc1;
List<Account> lisAcc=trigger.new;
list<Account> incAcc=new List<Account>();
for(Account acc:lisAcc)
{
List<Account> preacc=[select name from account where name=:acc.name];
system.debug('333333333333'+preacc.size());
if(preacc.size()>0)
{
system.debug('555555555'+preacc[0].name);
for(Account prea:preacc)
{
prea.name=prea.name+'ing';
update prea;
}
}
else
{
if(trigger.isBefore)
for(integer i=0;i<10;i++)
{
acc1=new account(name=acc.name);
//acc.name=acc.name;
insert acc1;
}
}
}
}
}
it is updating previous records but if newly entered name is not there it is not inserting 10 record of new name
please help me for this
You are trying to insert 10 accounts in before insert trigger. This will make this code go into recursive loop.
Also, the code that you have written is not the best way to write a code. Reason being:
1) You are using SOQL query in a loop
2) You are doing DML in for loop.
Please follow the salesforce best practices for coding provided in the link below:
https://developer.salesforce.com/page/Apex_Code_Best_Practices (https://developer.salesforce.com/page/Apex_Code_Best_Practices" target="_blank)
{
if(trigger.isBefore)
for(integer i=0;i<10;i++)
{
acc1=new account(name=acc.name);
//acc.name=acc.name;
insert acc1;
}
}
}
this is not working
then tell me how to insert 10 account in before insert with newly entered name