System.LimitException:查询行太多:触发器中出现 50001 错误

System.LimitException: Too many query rows: 50001 error in trigger

我在 Apex 触发器中有 soql,因为它正在获取测试对象的所有记录。 SOQl 正在获取超过 50000 条记录,所以每当我更新记录时,我都会遇到这个调控器限制错误。 请让我知道如何解决这个错误。

List<test__c> ocrInformation = new List<test__c>();
Map<String,String> Opporgcode=new Map<String,String>();
ocrInformation= [select id,Team__c,Org__c from test__c];//facing an error here
for(test__c oct: ocrInformation){
    Opporgcode.put(oct.Org__c,oct.Team__c);
}

这是标准的 Salesforce 限制

total number of records retrieved by SOQL queries = 50,000

您真的需要 select 所有 test__c 记录吗?可能,您可以使用 help op wherelimit 条件减少检索数据量。如果没有,你可以尝试使用Batch Apex。它允许每个批处理执行 50k 的限制计数。