将逗号分隔的id插入表中

问题描述 投票:0回答:2

我需要将记录插入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...

我怎样才能做到这一点?

sql azure azure-sql-database
2个回答
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
投票

如果你想要分割字符串,最有效的方法就是通过使用tally表来概括here by Jeff Moden。我强烈建议您在几乎任何版本的SQL Server中使用此方法。

© www.soinside.com 2019 - 2024. All rights reserved.