2016-07-25 109 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