0
テストオブジェクトのすべてのレコードをフェッチするApexトリガーにはsoqlがあります。 SOQlは50000以上のレコードをフェッチしていますので、私はこのガバナーがエラーに直面しているレコードを更新しています。 このエラーを解決する方法を教えてください。System.LimitException:クエリの行が多すぎます:トリガーで50001のエラーが発生しました。
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);
}
ありがとうございます。注釈を使用してこの50,000の制限を増やす方法はありますか?これは長い間存在していたトリガーであり、新しい機能強化のために今ではさらに多くのレコードを取得しています。ロジックはバッチクラスでは好ましくありません。 – saru
「@ReadOnly」という注釈があり、100万行に取得できますが、変更はできません。つまり、トランザクションの実行時にDML操作を実行することはできません。したがって、データを変更する必要がある場合は、Batch Apexを使用して調べる必要があります。 –
私は、(あなたのビジネスロジックによって)日付、またはTeam__c、Org__cでレコードをフィルタすることが許可されているかもしれないと付け加えます。私は最初にWHERE句を提案します。 –