Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
Sql server SQL无法将变量插入XML列_Sql Server_Xml_Sql Server 2012_Sqlxml - Fatal编程技术网

Sql server SQL无法将变量插入XML列

Sql server SQL无法将变量插入XML列,sql-server,xml,sql-server-2012,sqlxml,Sql Server,Xml,Sql Server 2012,Sqlxml,我有一个数据库,它有一个带有xml列的表Date,该列使用默认xml数据进行初始化 <data> </data> 我正在尝试使用变量插入到XML列中 DECLARE @UserID INT; SET @UserID = 10 DECLARE @DataXML XML; SET @DataXML = (SELECT TOP 1 d.DataXML FROM [Data] AS d WHERE d

我有一个数据库,它有一个带有xml列的表Date,该列使用默认xml数据进行初始化

<data>

</data>
我正在尝试使用变量插入到XML列中

DECLARE @UserID INT;
SET @UserID = 10    

DECLARE @DataXML XML;
SET @DataXML = (SELECT TOP 1 d.DataXML 
                FROM [Data] AS d
                WHERE d.UserID = @UserID
                ORDER BY d.LastUpdate DESC );
SELECT @DataXML

DECLARE @Data VARCHAR(MAX) 
SET @Data = '<point>15</point>'

DECLARE @XmlQuery NVARCHAR(max) 
SET @XmlQuery = 'insert ' + @Data + ' as last into (/data)[1]';

DECLARE @sql NVARCHAR(max) 
SET @sql='set @DataXML.modify('''+ @XmlQuery + ''')'

EXEC sp_executesql @sql , N'@DataXML XML OUT', @DataXML OUT

SELECT @DataXML
它会更新包含单元格芽的变量,但不会更新列

有人能帮我吗

我正在使用SQL server 2012

-设置数据。。。 创建表dbo.Data DataID int, 数据xml, UserID int, 上次更新日期时间 ; 插入dbo.DataID、DataXML、UserID、LastUpdate 价值观 1,N,10,datetimefromparts2014,3,7,18,21,0,0, 2,N,10,datetimefromparts2014,3,7,18,22,0,0; -查找行ID。。。 声明@UserID int=10; 声明@DataID int= 选择前1个数据ID 来自dbo.Data 其中UserID=@UserID 按上次更新说明订购 ; -更新行。。。 声明@pointint=15; 更新dbo.Data set DataXML.modifyN'插入{sql:variable@Point}输入/数据[1]' 其中DataID=@DataID; -结果。。。 从dbo.Data中选择*; 数据标识 数据XML 用户ID 最近更新 1. 10 2014-03-07 18:21:00.000 2. 15 10 2014-03-07 18:22:00.000
SQL只是结构化查询语言-一种被许多数据库系统使用的语言,但不是一种数据库产品。。。许多事情都是特定于供应商的-因此我们确实需要知道您使用的是什么数据库系统和哪个版本请相应地更新标记…您只是在修改变量。您必须使用变量更新表,或直接修改表中的列。