You need to sign in to do that
Don't have an account?
Afrose Ahamed
Soql Error consideration
Hi All,
How to avoid too many SOQL error. In following code im getting too many SOQL error. Please someone advise.
Regards,
Afrose Ahamed
How to avoid too many SOQL error. In following code im getting too many SOQL error. Please someone advise.
public pageReference saveObjs(){ DML.InsertOp(obj); try{ Object_A__c obj =[select name, id,(Select name, Object_C__c,Status__c From Objects_B__corder by Status__c ) from Object_A__c where id=:string.ValueOf(Obj.get('ObjA__c'))]; list<Object_B__c > collection =obj.Objects_B__corder; Object_D__c newobjs = new Object_D__c(); for(Object_B__c B:collection){ newobjs.Object_C__c=B.Object_C__c; newobjs.Object_O__c=obj.id; newobjs.Status__c =B.Status__c; DML.InsertOp(newobjs); List<Object_D__c>objd=[select Object_E__c,Status__c, from Object_D__c where Object_C__c=:B.Object_C__c]; for(Object_D__c d:objd){ Object_F__c newF=new Object_F__c(); newF.Object_E__c=d.Object_E__c; newF.Object_D__c=newobjs.id; newF.Status__c=d.Status__c; Object_E__c EE=[select Order__c From Object_E__c where id=:d.Object_E__c]; newF.Order__c=EE.Order__c; DML.InsertOp(newF); }Object_D__c newobjs = new Object_D__c(); } }catch(Exception e){ System.debug(e); } }
Regards,
Afrose Ahamed
You have written the SOQL queery in nested FOR loop which is idealy a wrong practice. this may lead to error like "Error: System.LimitException: Too many SOQL queries: 101".
Kindly refer this doc to fix it :-
https://help.salesforce.com/s/articleView?id=000386220&type=1
Kindly mark it as the best answer if it works for you.
Thanks & Regards,
Priya Ranjan