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

環境
Salesforce

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

1).getDMLStatements()

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
コールされた DML ステートメント (insert、update、または database.EmptyRecycleBin メソッドなど) の数を返します。
コールされた DML ステートメント (insert、update、または database.EmptyRecycleBin メソッドなど) の数を返します。
コールされた DML ステートメント (insert、update、または database.EmptyRecycleBin メソッドなど) の数を返します。

2).getLimitDMLStatements()

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
コールできる DML ステートメントまたは database.EmptyRecycleBin メソッドの合計数を返します。
コールできる DML ステートメントまたは database.EmptyRecycleBin メソッドの合計数を返します。
コールできる DML ステートメントまたは database.EmptyRecycleBin メソッドの合計数を返します。

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DML ステートメント、Database.emptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理されたレコードの数を返します。
DML ステートメント、Database.emptyRecycleBin メソッド、および他のメソッドなど、 DML 制限に含まれるすべてのステートメントを使用して処理されたレコードの数を返します。
DML ステートメント、Database.emptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理されたレコードの数を返します。

getLimitDMLRows()

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DML ステートメント、database.EmptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理できるレコードの合計数を返します。
DML ステートメント、database.EmptyRecycleBin メソッド、および他のメソッドなど、 DML 制限に含まれるすべてのステートメントを使用して処理できるレコードの合計数を返します。
DML ステートメント、database.EmptyRecycleBin メソッド、および他のメソッドなど、
DML 制限に含まれるすべてのステートメントを使用して処理できるレコードの合計数を返します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// 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で取引先を作成 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で取引先を作成
 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