数千行のリクエストの結果があり、それを 1 から 10,000 までの増分番号で、それぞれ 10,000 行の小さな一時テーブルに分割したいと考えています。25,000 の大きなクエリがあるとします。行、私が望むのは、それを 10k の 2 つのテーブルと 5k の 3 つ目のテーブルに分割することです。もちろん、分割する必要がある正確なページ数はわかりません。
すべての行を含む最初のクエリは [#DECLARATION] という名前で、ページ 1 の場合は 0、ページ 2 の場合は 1 など、9 までの番号 NumeroDeclaration があります。10,000 行ごとに、0 から 10,000 に増分されます。
この時点で、私のリクエストは次のようになります。
--Page 1
SELECT * INTO [#PAGE1] FROM [#DECLARATION] WHERE NumeroDeclaration =0 ORDER BY NumeroTransaction;
--Numerotation
WITH upd AS (SELECT NumeroDeclaration, ROW_NUMBER() OVER (ORDER BY NumeroTransaction) AS Numtemp FROM [#PAGE1])
UPDATE upd SET NumeroDeclaration = Numtemp
--Page 2
SELECT * INTO [#PAGE2] FROM [#DECLARATION] WHERE NumeroDeclaration =1 ORDER BY NumeroTransaction;
--Numerotation
WITH upd AS (SELECT NumeroDeclaration, ROW_NUMBER() OVER (ORDER BY NumeroTransaction) AS Numtemp FROM [#PAGE2])
UPDATE upd SET NumeroDeclaration = Numtemp
--Page 3
--etc.... to Page 10...
私はこれを10ページ以上しなければなりませんが、うまくいきますが、それを行うためのより短い/上品な方法はありますか?
私はSQL SERVER 2008を使用しています読んでくれてありがとう