지도를 사용하여 SOQL 거버너 제한으로 실행되지 않도록하는 방아쇠가 있습니다. 이 트리거는 재귀 및 쿼리 제한을 위해 정적 클래스 변수도 사용합니다.대량 삭제 전 트리거 (너무 많은 Soql 문) Salesforce.com
삽입 또는 업데이트와 같은 대량 작업이 개체,이 경우 연락처 개체에서 시작되면 트리거가 관련 트리거 계정의 맵을 첫 번째 트리거에 작성하여 사용할 것입니다. 나머지 트리거 발사를위한지도. 여기
는 있지만 삽입 트리거 작업 후 업데이트 & 후를 위해 큰 노력하고 있습니다 작업의 예는 다음과 같습니다 정적 클래스 변수가 사실이 아니다확인하는 것이.
변수가 true가 아닌 경우 빌드 맵.
정적 클래스 변수를 true로 설정하십시오.
트리거 작업을 수행하십시오.
삽입/업데이트 트리거의 경우 세션 상태가 유지되고 대량 작업이 끝날 때까지 정적 클래스 변수가 재설정되지 않습니다.
그러나 이전 삭제 트리거의 경우 세션 상태가없는 것으로 보이며 레코드가 삭제 될 때마다 세션이 재설정됩니다. 세션은 다시 설정되지만 조정자 한계는 레코드의 대량 삭제에 대해 누적됩니다. 따라서 삭제 전 트리거를 사용하더라도 맵을 사용하더라도 soql 쿼리 카운트는 100 개가 넘는 레코드를 삭제할 수있는 악명 높은 '너무 많은 SQL 쿼리'제한을 계속 계산합니다.
SOQL 한도로 실행되는 것을 방지하는 방법에 대한 생각은 많이 감사하겠습니다. 나는이 곳 어디에서도 아무것도 찾을 수 없었다.