質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Salesforce

Salesforceは、クラウド型の顧客関係管理(CRM)、営業支援(SFA)などのサービスを提供している企業。米カリフォルニア州に本社があり、日本法人は株式会社セールスフォース・ドットコムです。

Apex

Apexは、Salesforce上で動作するアプリケーション作成をサポートするアプリケーション開発プラットフォーム。プログラミング言語であるApexコードと、独自のApex WebサービスAPIなどで構成されています。

Q&A

解決済

1回答

1632閲覧

Salesforceのオブジェクトを1000件毎に取得する方法

chikarawazaman

総合スコア2

Salesforce

Salesforceは、クラウド型の顧客関係管理(CRM)、営業支援(SFA)などのサービスを提供している企業。米カリフォルニア州に本社があり、日本法人は株式会社セールスフォース・ドットコムです。

Apex

Apexは、Salesforce上で動作するアプリケーション作成をサポートするアプリケーション開発プラットフォーム。プログラミング言語であるApexコードと、独自のApex WebサービスAPIなどで構成されています。

0グッド

0クリップ

投稿2020/11/18 12:14

質問事項

SalesfoceのApexで、1000件毎にSOQLレコードを取得したいです。

具体例

たとえば、Leadオブジェクトに大量データが入っているとして
それぞれ、
1~1000
1001~2000
2001~3000
……
とデータを取得したいと考えています。(ガバナ制限の兼ね合いによるもの)

その他

・バッチ処理では今回の目的に達しないことから、不可となります。
・オブジェクトのIDは連番数字ではない認識ですので、where句で1から1000のような処理もできないと思っています。
・ネットで調べましたが、いい方法が見つかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

offsetはいかがでしょうか?
https://developer.salesforce.com/docs/atlas.ja-jp.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_offset.htm

あと取得のみでしたら、SOQLをReadonlyにすることでガバナ制限を大幅に緩和することができます。
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_classes_annotation_ReadOnly.htm

投稿2020/11/18 12:51

comefigo

総合スコア1045

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chikarawazaman

2020/11/18 13:00

ご回答ありがとございます。 OFFSETの使用を考えていましたが、OFFSETは2000が上限であるため、3000以降の値が取れなくなり、不可となりました。 Readonryの情報ありがとうございます。こちらは試せていなかったので、試させていただきたいと思います。
comefigo

2020/11/18 13:01

そうなんですね。 OFFSETは普通のSQLのように満足のいくパラメータにしてほしいですね。 Readonlyは結構有用なので是非お試しください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問