この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

deleteByExample()

削除対象を指定するテンプレートとして sObject を使用して組織から Big Object データを削除する場合は、deleteByExample() を使用します。sObject テンプレートと一致する Big Object 内のすべてのデータが削除されます。

構文

1DeleteByExampleResult[] = connection.deleteByExample(sObject[] sObjects);

ルールとガイドライン

データを削除する際は、次のルールやガイドラインを考慮する必要があります。

  • 指定したオブジェクト内の個別のオブジェクトを削除するには、クライアントアプリケーションは、実行に十分なアクセス権限でログインする必要があります。詳細は、「データアクセスに影響する要素」を参照してください。
  • 複数のオブジェクト種別のレコードは、いずれかのオブジェクト種別が Salesforce の [設定] 領域の機能に関連していると、1 回のコールで削除することはできません。唯一の例外は次のオブジェクトです。
    • カスタム設定のオブジェクト。カスタムオブジェクトに類似しています。詳細は、Salesforce ヘルプの「カスタム設定の作成」を参照してください。
    • GroupMember
    • Group
    • User

データ削除の基本手順

データは、次の基本手順に従って削除します。

  1. Big Object のインデックスを構成するすべての項目を使用して sObject を定義します。
  2. 各項目の値を指定します。
  3. deleteByExample() をコールし、作成した sObject を渡します。
  4. DeleteByExampleResult[] の結果を処理してレコードの削除が成功したかどうかを確認します。

成功した deleteByExample() 処理を繰り返すと、データがすでに削除済みであっても、結果は成功になります。

メモ

サンプルコード — カスタム Big Object

このサンプルでは、カスタム Big Object 内のレコードを削除する方法を示します。この例では、Account__cGame_Platform__cPlay_Date__c がカスタム Big Object のインデックスの一部です。Account__c が “001d000000Ky3xIAB”、Game_Platform__c が “iOS”、Play_Date__c が “2017-11-28T19:13:36.000z” のすべての行が削除されます。

1public static void main(String[] args) {
2    try{
3        //Declare an sObject that has the values to delete
4        sObject[] sObjectsToDelete = new sObject[1];
5        sObject[] customerBO = new sObject();
6        customerBO.setType("Customer_Interaction__b");
7        customerBO.setField("Account__c","001d000000Ky3xIAB");
8        customerBO.setField("Game_Platform__c","iOS");
9        customerBO.setField("Play_Date__c","2017-11-28T19:13:36.000z");
10        sObjectsToDelete[0] = customerBO;
11
12        DeleteByExampleResult[] result = connection.deleteByExample(sObjectsToDelete);
13    }
14}

サンプルコード — 項目監査履歴

このサンプルでは、FieldHistoryArchive のレコードを削除する方法を示します。指定された条件を持つすべての行が削除されます。

1public static void main(String[] args) {
2    try{
3        //Declare an sObject that has the values to delete
4        sObject[] sObjectsToDelete = new sObject[2];
5        sObject[] fieldHistoryArchive_1 = new sObject();
6        fieldHistoryArchive_1.setType("FieldHistoryArchive");
7        fieldHistoryArchive_1.setField("FieldHistoryType","Account");
8        fieldHistoryArchive_1.setField("ParentId","001d000000Ky3xIAB");
9        fieldHistoryArchive_1.setField("CreatedDate","2017-11-28T19:13:36.000z");
10        fieldHistoryArchive_1.setField("HistoryId","017D000000ESURXIA5");
11        sObjectsToDelete[0] = fieldHistoryArchive_1;
12
13        sObject[] fieldHistoryArchive_2 = new sObject();
14        fieldHistoryArchive_2.setType("FieldHistoryArchive");
15        fieldHistoryArchive_2.setField("FieldHistoryType","Account");
16        fieldHistoryArchive_2.setField("ParentId","001d000000Ky3xIAB");
17        fieldHistoryArchive_2.setField("CreatedDate","2017-11-29T19:13:36.000z");
18        fieldHistoryArchive_2.setField("HistoryId","017D000000ESURMIA5");
19        sObjectsToDelete[1] = fieldHistoryArchive_2;
20
21        DeleteByExampleResult[] result = connection.deleteByExample(sObjectsToDelete);
22    }
23}

引数

名前 説明
sObject sObject[] 削除のテンプレートとして使用する 1 つ以上の sObject の配列。