将逗号分隔的ID插入表

时间:2018-02-27 19:32:07

标签: sql azure azure-sql-database

我需要将记录插入SQL Server表。我需要将客户端发送ID插入表中的特定列:

(2,4,123,1357,1234,5657,753);

使用this函数我拆分逗号分隔的字符串,但不知道如何将其与其他列一起插入表中

我需要创建一些能够生成插入内容的内容,例如:

insert into table_name (id,column_2,column_3) values (2, column_s_some_value, column_3_some_value);
insert into table_name (id,column_2,column_3) values (4, column_s_some_other_value, column_3_some_value);
insert into table_name (id,column_2,column_3) values (123, column_s_some_value, column_3_some_value);
ETC...

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

split函数是一个表值函数,这意味着它可以被视为一个表,你可以做一个INSERT..SELECT

insert into table_name (id,column_2,column_3)
SELECT s.item, column_s_some_value, column_3_some_value
FROM Split(@input_string, ',') s
{JOINS if needed to get other column values}

答案 1 :(得分:1)

如果您确实想要拆分字符串,最有效的方法是通过使用概述表here by Jeff Moden。我强烈建议您在任何版本的SQL Server中使用此方法。