0

fromUpdated と toBeUpdated の 2 つのオブジェクトがあります。どちらのオブジェクトにも、aField と bField の 2 つのフィールドがあります。新しいレコードが toBeUpdated に挿入されるようなコードを書く必要があります。レコードが以前に存在するかどうかを確認します。チェックされるキーは aField であり、aField が 2 つのレコード間で一致する場合、toBeUpated オブジェクトの新しいレコードを作成せずに、別のフィールド bField を更新するだけです。

この操作の後、fromUpdate オブジェクトからすべてのオブジェクトを削除する必要もあります。

query と delete() がこの機能を提供することは知っていますが、この機能の SOQL ステートメントを記述する方法はわかりません。

どんな助けでも大歓迎です..

ありがとう

4

1 に答える 1

2

削除と更新を行うための SOQL クエリを作成する方法を意味する場合、答えはできません。SOQL は多くの点で SQL とは大きく異なり、3 つの異なる操作を実行する方法も異なります。

  1. 最初に、SOQL クエリを使用して更新する必要がある一致するレコードを見つけます
  2. コードupsertで変更した後、新しい行を挿入し、既存のレコードを更新する操作を実行しますbField
  3. fromUpdateオブジェクトから削除する必要があるレコードを削除します

削除は、あなたが述べたとおりです。クエリを実行してから削除します。

もちろん、コードを簡潔に保つために、これを 1 つのライナーで実行できます。

delete [select Id from MyObject__c where SomeField = true];
于 2012-06-04T04:24:04.633 に答える