システム管理者の独り言

元営業の素人がsalesforceシステム管理者になったので備忘録を。。

SOQLで使う「ALL ROWS」キーワード

salesforceでは活動オブジェクトが一定の基準でアーカイブされます。

https://help.salesforce.com/articleView?id=000005175&language=ja&type=1

 

アーカイブされたデータを取得するのには「ALL ROWS」キーワードを使うと。

ALL ROWSキーワードを使用すると削除されたレコードもクエリされる。

 developer.salesforce.com

 

実組織を使用して試してみました。

同じ条件のクエリで、ALL ROWSキーワードなし・ありで比較。

 

f:id:iwaoLog:20170914195711p:plain

 

ALL ROWS「なし」では4461件でしたが、「あり」だと18748件。そのうち9件が削除済み。

ALL ROWSなしのときは当然削除済みのものは0件ですね。

※削除済みは IsDeleted = true の条件を追加しています。

 

活動履歴をクエリする場合はアーカイブされたものを対象とするかどうかも検討が必要そうです。

不用意にALL ROWSを使うとガバナ制限にもかかりやすくなるでしょうし。。

 

※開発者コンソールの「Query Editor」だとALL ROWSキーワードは使えないみたいです。