Note that there are some explanatory texts on larger screens.

plurals
  1. POSalesforce: System.LimitException: Too many SOQL queries: 101
    text
    copied!<p>Everything worked fine a couple of days ago, no new changes have been made to the system except from the profiles. </p> <p>Suddenly I got this error message:</p> <blockquote> <p>Error: Invalid Data. Review all error messages below to correct your data.<br> Apex trigger generateUniqueBidId caused an unexpected exception, contact your administrator: generateUniqueBidId: System.LimitException: Too many SOQL queries: 101</p> </blockquote> <pre><code> trigger generateUniqueBidId on Bids__c (before insert) { Map&lt;String, String&gt; profilePrefixMap = new Map&lt;String, String&gt;(); profilePrefixMap.put('Sales User', 'rds'); profilePrefixMap.put('Super User', 'rds'); profilePrefixMap.put('Standard User','SU'); profilePrefixMap.put('System Administrator','SysAdmin'); String defaultPrefix = ' '; User user = [SELECT ProfileId FROM User Where Id = :Userinfo.getUserId() LIMIT 1]; Profile profile = [SELECT Name FROM Profile Where Id = :user.ProfileId LIMIT 1]; List&lt;Bids__c&gt; recentBids = [SELECT Id, CreatedById, Bid_unique_label__c From Bids__c WHERE Bid_unique_label__c = NULL]; /**Logics for updating old Bids with correct Bid_id. May be refactored away when all bids are updated Could cause problems if trigger system becomes to complicated. */ for (Bids__c bid : recentBids){ String recentProfileName = [SELECT Profile.Name FROM User Where Id = :bid.CreatedById LIMIT 1].Profile.Name; String bidId = profilePrefixMap.get(recentProfileName); bid.Bid_unique_label__c = ((bidId == null) ? defaultPrefix : bidId); } upsert recentBids; for (Bids__c bid : trigger.new){ String bidId = profilePrefixMap.get(String.valueOf(profile.Name)); bid.Bid_unique_label__c = ((bidId == null) ? defaultPrefix : bidId); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload