.net 如何动态插入表列的值
如何将数组传递给SQL SERVER 2008存储过程并将数组的所有值插入数据库表中 例如:从ASP.NET mvc中,我将传递一个参数,该参数具有多个用逗号分隔的值 如下.net 如何动态插入表列的值,.net,sql-server,model-view-controller,.net,Sql Server,Model View Controller,如何将数组传递给SQL SERVER 2008存储过程并将数组的所有值插入数据库表中 例如:从ASP.NET mvc中,我将传递一个参数,该参数具有多个用逗号分隔的值 如下 string category = "Cat1, Cat2, Cat3, Cat4"; 我想在名为Categories的表中插入上述字符串的所有值 如何使用SQL SERVER 2008实现这一点。您可以通过将CSV值转换为XML格式,然后对其使用交叉应用将其拆分为行并将其插入到表中来轻松实现 CREATE TABLE #
string category = "Cat1, Cat2, Cat3, Cat4";
我想在名为Categories的表中插入上述字符串的所有值
如何使用SQL SERVER 2008实现这一点。您可以通过将CSV值转换为XML格式,然后对其使用交叉应用将其拆分为行并将其插入到表中来轻松实现
CREATE TABLE #Categories(VALUE VARCHAR(100))
DECLARE @STR VARCHAR(500)='Cat1, Cat2, Cat3, Cat4'
INSERT INTO #Categories(VALUE)
SELECT LTRIM(RTRIM(Split.a.value('.', 'VARCHAR(100)'))) 'VALUE'
FROM
(
-- To change ',' to any other delimeter, just change ',' before '</M><M>' to your desired one
SELECT CAST ('<M>' + REPLACE(@STR, ',', '</M><M>') + '</M>' AS XML) AS Data
) AS A
CROSS APPLY Data.nodes ('/M') AS Split(a)
SELECT * FROM #Categories
查看结果
寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。