SOQL For ループのロック
FOR UPDATE キーワードも SOQL for ループ内で使用できます。次に例を示します。
1for (Account[] accts : [SELECT Id FROM Account
2 FOR UPDATE]) {
3 // Your code
4}「SOQL For ループ」で説明するように、上記の例は、SOAP API の query() メソッドおよび queryMore() メソッドのコールに内部的に対応します。
commit ステートメントはありません。Apex トリガが正常に完了すると、自動的にデータベースの変更がコミットされます。Apex トリガが正常に完了しない場合、データベースへの変更はロールバックされます。