Apex getLimitDMLStatementsでDMLの実行回数を取得する

環境
Salesforce

構文
1.DMLの実行回数の取得
getDMLStatements / getLimitDMLStatements

1).getDMLStatements()

コールされた DML ステートメント (insert、update、または database.EmptyRecycleBin メソッドなど) の数を返します。

2).getLimitDMLStatements()

コールできる DML ステートメントまたは database.EmptyRecycleBin メソッドの合計数を返します。

2.DML操作されたレコードの取得
getDMLRows / getLimitDMLRows
getDMLRows()

DML ステートメント、Database.emptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理されたレコードの数を返します。

getLimitDMLRows()

DML ステートメント、database.EmptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理できるレコードの合計数を返します。

使用例

// DMLで取引先を作成
 Account accA = new Account(Name = 'cft');
 Account accB = new Account(Name = 'info');
 List<Account> accList = new List<Account>();
 accList.add(accA);
 accList.add(accB);
 insert accList;
 
 // DMLの実行回数確認
 System.debug('getDMLStatements / getLimitDMLStatements = ' + Limits.getDMLStatements() + '/' + Limits.getLimitDMLStatements());
 
 // DMLで操作されたレコード数の確認
 System.debug('getDMLRows / getLimitDMLRows = ' + Limits.getDMLRows() + '/' + Limits.getLimitDMLRows());

結果 DMLを1回発行と2レコードを操作になります。

Apex

Posted by arkgame