1
我有幾個表,我正在做一些計算,以確定每種類型的記錄插入到另一個表中有多少。例如,主要實體是縣,會員,計劃。當我完成運行我的計算我最終是這樣的:在SQL Server中,您可以基於計算來插入多個記錄嗎?
- 插入25縣A] + [方案1]記錄到表
- 插入15縣A] + [方案2]記錄到表
- 插入10 [縣A] + [計劃3]記錄到表
- 插入15 [縣A] + [計劃4]記錄到表
- 插入25縣A] + [計劃5]記錄到表
- 將63 [縣B] + [計劃1]記錄插入表
- 插入47縣B] + [方案3]記錄插入表
- 插入19 [縣B] + [方案4]記錄插入表
插入片段看起來是這樣的:
INSERT INTO Assign (ID, CountyID, PlanID)
VALUES (NEWID(), 'A', 1), (NEWID(), 'A', 1), ..., (NEWID(), 'A', 1) -- 25 times
INSERT INTO Assign (ID, CountyID, PlanID)
VALUES (NEWID(), 'A', 2), (NEWID(), 'A', 2), ..., (NEWID(), 'A', 2) -- 15 times
等
我正在尋找一種方式來從一個存儲過程中建立這些的INSERT語句:
- 不要使用光標和/或while循環
- 沒有做單獨的刀片,想批量插入的方法
- 用途的CTE? (不是必需的,但誰知道)
所有這些信息都存儲在一個臨時表中定義爲:
CREATE TABLE #holding (countyID CHAR(2), planID INT, perCountyPlan INT)
SELECT * FROM #holding ORDER BY countyID, planID
A 1 25
A 2 15
A 3 10
A 4 15
A 5 25
B 1 63
B 3 47
B 4 19
C .......
etc
任何想法如何形成基於該#history表數據的INSERT?
我可能要建立自己的數字表,但我可以做,以2048的增量基礎上,master..spt_values表。而且該死的 - 比鼻涕還要冷靜!謝謝! –