首页 > 解决方案 > SQL循环遍历整数列表并将每个行插入表中

问题描述

我有一个表,我需要在其中插入 100 多行,每行之间只有一个唯一值。目前,我正在使用 INSERT 语句一次放入一行,这变得越来越令人沮丧。看起来像这样

INSERT INTO tblTableName
    (columnName1, columnName2, columnName3, columnName4)
VALUES
    (sameData1, sameData2, sameData3, variableIntegerData)

对于我在表中创建的每个新条目,我替换 variableIntegerData 并执行代码。

有没有办法让我的数据在一维数组中(看起来像这样)

(907, 908, 875, 876, 878, 885 ...) 

然后运行代码,以便为该数组中的每个元素插入一行?我考虑过制作一个临时表来存储数据,但是无论如何这只是双重处理。

对此的任何帮助将不胜感激,在此先感谢您!

标签: sqlsql-serversql-insert

解决方案


我不知道您现在拥有的数据格式是什么,但假设它是 CSV,这应该很好

INSERT INTO tblTableName
   (tblTableName, sameValue1, sameValue2, sameValue3)
SELECT i.value, 'foo' , 'bar' , 'baz'
FROM STRING_SPLIT('907,908,875,876,878,885', ',') AS i;

推荐阅读