我有一個請求給了我成千上萬行的結果,我想將它分成10k行的小臨時表,每個行有1到10 000的遞增數。讓我們說我有一個25 000行的大查詢,我想要的是將它分成2個10k的表格和5k的第三個表格。當然,我不知道我將不得不拆分的確切頁數。SQL正確地分割一個結果
我與所有行第一查詢被命名爲[#DECLARATION]和具有許多NumeroDeclaration,對於第1頁,圖1是0 2頁等,以9。每個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頁,和它的作品,但有另一種短 /分類器對d的方式它呢?
進出口使用SQL SERVER 2008感謝您閱讀
爲什麼它拆分臨時表,而不只是選擇組行希望每個時間? –
@ GabyakaG.Petrioli因爲在我把它分成更小的表格之後,我必須從每張表格中寫出標題,然後將它們一起植入到業務對象中。我知道我可以使用一個簡單的python腳本將其導出到.csv,但我不被允許:( – prince