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

queryAll()

削除されたレコードやアーカイブされたレコードなどの指定されたオブジェクトからデータを取得します。

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

メモ

構文

1QueryResult = connection.queryAll(string queryString);

使用方法

queryAll() を使用して、マージまたは削除によって削除されたレコードを識別します。queryAll() には、項目 isDeleted への参照のみアクセス権があります。それ以外は query() と同じです。queryAll() は、undelete() コールでレコードを復元する準備として使用します。

削除されたレコードを探すには、クエリ文字列に isDeleted = true を指定します。マージされたレコードの場合は、masterRecord を要求します。次に例を示します。
1SELECT id, isDeleted, masterRecordId FROM Account WHERE masterRecordId='100000000000Abc'

アーカイブ済みのオブジェクトのみを検索するには、isArchived 項目を絞り込みに利用します。アーカイブ済みのレコードの更新や削除は可能ですが、isArchived 項目を更新することはできません。

Salesforce では外部データへの変更を追跡しないため、queryAll() コールの動作は、外部オブジェクトに対する query() と同じです。

メモ

引数

名前 説明
queryString string クエリの対象となるオブジェクト、受け取る項目、およびクエリに特定のオブジェクトを含む任意の条件を指定する SOQL クエリが含まれます。『Salesforce SOQL および SOSL リファレンス』を参照してください。

サンプルコード — Java

このサンプルでは、クエリを実行して、取引先が削除されているかどうかに関わらず、すべての取引先を取得します。カスタムバッ��サイズを 250 レコードに設定します。最初に queryAll()、次に queryMore() をコールしてレコードのすべてのバッチを取得します。すべての返された取引先の名前および isDeleted 項目の値をコンソールに書き込みます。

1public void queryAllRecords() {
2   // Setting custom batch size
3   connection.setQueryOptions(250);
4   
5   try {
6      String soqlQuery = "SELECT Name, IsDeleted FROM Account";
7      QueryResult qr = connection.queryAll(soqlQuery);
8      boolean done = false;
9      if (qr.getSize() > 0) {
10         System.out.println("Logged-in user can see a total of "
11               + qr.getSize()
12               + " contact records (including deleted records).");
13         while (!done) {
14            SObject[] records = qr.getRecords();
15            for (int i = 0; i < records.length; i++) {
16               Account account = (Account) records[i];
17               boolean isDel = account.getIsDeleted();
18               System.out.println("Account " + (i + 1) + ": "
19                     + account.getName() + " isDeleted = "
20                     + account.getIsDeleted());
21            }
22            if (qr.isDone()) {
23               done = true;
24            } else {
25               qr = connection.queryMore(qr.getQueryLocator());
26            }
27         }
28      } else {
29         System.out.println("No records found.");
30      }
31   } catch (ConnectionException ce) {
32      ce.printStackTrace();
33   }
34}

サンプルコード — C#

このサンプルでは、クエリを実行して、取引先が削除されているかどうかに関わらず、すべての取引先を取得します。カスタムバッチサイズを 250 レコードに設定します。最初に queryAll()、次に queryMore() をコールしてレコードのすべてのバッチを取得します。すべての返された取引先の名前および isDeleted 項目の値をコンソールに書き込みます。

1public void queryAllRecords()
2{
3   // Setting custom batch size
4   QueryOptions qo = new QueryOptions();
5   qo.batchSize = 250;
6   qo.batchSizeSpecified = true;
7   binding.QueryOptionsValue = qo;
8
9   try
10   {
11      String soqlQuery = "SELECT Name, IsDeleted FROM Account";
12      QueryResult qr = binding.queryAll(soqlQuery);
13      Boolean done = false;
14      if (qr.size > 0)
15      {
16         Console.WriteLine("Logged-in user can see a total of "
17               + qr.size
18               + " contact records (including deleted records).");
19         while (!done)
20         {
21            sObject[] records = qr.records;
22            for (int i = 0; i < records.Length; i++)
23            {
24               Account account = (Account)records[i];
25               Boolean isDel = (Boolean)account.IsDeleted;
26               Console.WriteLine("Account " + (i + 1) + ": "
27                     + account.Name + " isDeleted = "
28                     + account.IsDeleted);
29            }
30            if (qr.done)
31            {
32               done = true;
33            }
34            else
35            {
36               qr = binding.queryMore(qr.queryLocator);
37            }
38         }
39      }
40      else
41      {
42         Console.WriteLine("No records found.");
43      }
44   }
45   catch (SoapException e)
46   {
47      Console.WriteLine("An unexpected error has occurred: " +
48                                 e.Message + "\n" + e.StackTrace);
49   }
50}

応答

QueryResult