Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何动态插入表列的值_.net_Sql Server_Model View Controller - Fatal编程技术网

.net 如何动态插入表列的值

.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 #

如何将数组传递给SQL SERVER 2008存储过程并将数组的所有值插入数据库表中

例如:从ASP.NET mvc中,我将传递一个参数,该参数具有多个用逗号分隔的值

如下

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
查看结果
寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。