2016-07-25 148 views
1

我有這樣插入120列120索引的數組

Id 
,Test 
,[H01_1] 
,[H01_2] 
,[H01_3] 
,[H01_4] 
,[H01] 
,[H02_1] 
,[H02_2] 
,[H02_3] 
,[H02_4] 
,[H02] 
,[H03_1] 
,[H03_2] 
,[H03_3] 
,[H03_4] 
,[H03] 
,[H04_1] 
,[H04_2] 
,[H04_3] 
,[H04_4] 
,[H04] 
,[H05_1] 
,[H05_2] 
,[H05_3] 
,[H05_4] 
,[H05] 
,[H06_1] 
,[H06_2] 
,[H06_3] 
,[H06_4] 
,[H06] 
,[H07_1] 
,[H07_2] 
,[H07_3] 
,[H07_4] 
,[H07] 
,[H08_1] 
,[H08_2] 
,[H08_3] 
,[H08_4] 
,[H08] 
,[H09_1] 
,[H09_2] 
,[H09_3] 
,[H09_4] 
,[H09] 
,[H10_1] 
,[H10_2] 
,[H10_3] 
,[H10_4] 
,[H10] 
,[H11_1] 
,[H11_2] 
,[H11_3] 
,[H11_4] 
,[H11] 
,[H12_1] 
,[H12_2] 
,[H12_3] 
,[H12_4] 
,[H12] 
,[H13_1] 
,[H13_2] 
,[H13_3] 
,[H13_4] 
,[H13] 
,[H14_1] 
,[H14_2] 
,[H14_3] 
,[H14_4] 
,[H14] 
,[H15_1] 
,[H15_2] 
,[H15_3] 
,[H15_4] 
,[H15] 
,[H16_1] 
,[H16_2] 
,[H16_3] 
,[H16_4] 
,[H16] 
,[H17_1] 
,[H17_2] 
,[H17_3] 
,[H17_4] 
,[H17] 
,[H18_1] 
,[H18_2] 
,[H18_3] 
,[H18_4] 
,[H18] 
,[H19_1] 
,[H19_2] 
,[H19_3] 
,[H19_4] 
,[H19] 
,[H20_1] 
,[H20_2] 
,[H20_3] 
,[H20_4] 
,[H20] 
,[H21_1] 
,[H21_2] 
,[H21_3] 
,[H21_4] 
,[H21] 
,[H22_1] 
,[H22_2] 
,[H22_3] 
,[H22_4] 
,[H22] 
,[H23_1] 
,[H23_2] 
,[H23_3] 
,[H23_4] 
,[H23] 
,[H24_1] 
,[H24_2] 
,[H24_3] 
,[H24_4] 
,[H24] 

列名,我試圖寫有短小精悍(SQL服務器2014)一個簡單的插入。 對於Id和測試我正在寫一個匿名對象放入參數,但我不知道什麼是採取120長度int的最佳方式?陣列並將其插入的列以H開頭

當指數0到H01_1和索引1變爲H01_2 ...等

我不希望有寫SQL,說

H01_1 = @H01_1, 
H01_2 = @H01_2, 
... 

然後還必須做出一個匿名對象,做

H01_1 = array[0], 
H01_2 = array[1], 
... 

有一件事我可以做的是隻插入Id和測試,然後回頭對記錄做一個更新。但是我仍然處於和之前相同的場景,那就是我不知道在沒有寫出120次的情況下寫入更新的最佳方式。

回答

0
  1. 如果有可能改變你的數據表結構,那麼只有遵循以下設計

    在你的餐桌,你有更多的列的數量,並找出你分配的ID爲主。因此,而不是使用上述下面數據結構使用..

ID     test   column       value         
01    xyz   H01_1       val_H01_1 
01    xyz    H01_2       val_H01_2 

分配爲ID,測試和列組主鍵..

  1. 如果它是不可能改變結構的。然後從前端數據創建一個XML並創建像下面這樣的存儲過程來執行它。如果你通過http://www.itworld.com/article/2960645/development/tsql-how-to-use-xml-parameters-in-stored-procedures.html,那麼你會明白。
+0

我不能改變結構,我想要的東西比在Dapper中製作120個變量更直接。 XML是一個更復雜的解決方案 – LearningJrDev