2

いくつかの行を返すSQLステートメントがあり、これらはVBA内の配列に挿入されます。次に、配列をループしてスプレッドシートの行に貼り付けます。

メモリが不足しているので、バッチで貼り付けたいと思います。

メモリの問題を回避できる限り、データを収集するために毎回同じSQLクエリを実行してもかまいません。これどうやってするの?私のSQLでは、以前はLIMITを使用していましたが、ここでは最初の... 1000を選択しますか?そして次の1000など

4

2 に答える 2

1

ページあたりの行数と要求されたページの2つのパラメーターを渡すことで、基本的なページ付け関数を使用するストアドプロシージャを作成するのが最も簡単であることがわかりました。

この質問を確認してください:SQLServer2008でページネーションを行う方法

ストアドプロシージャをプログラムで呼び出す場合は、結果が返されなくなるまでwhileループを使用できます。

于 2012-06-20T15:24:46.773 に答える
1

「最初の...1000?、次に次の1000を選択」するには、次のようにします。

SELECT * FROM table
LIMIT <limit>
OFFSET <batch * limit>

制限が1000に等しく、バッチが0から始まり、呼び出しごとに1ずつ増加する場合

于 2012-06-20T15:09:42.310 に答える