title: Salesforce: System.LimitException: Too many SOQL queries: 101
body: <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>