Sql server SQL无法将变量插入XML列
我有一个数据库,它有一个带有xml列的表Date,该列使用默认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
<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只是结构化查询语言-一种被许多数据库系统使用的语言,但不是一种数据库产品。。。许多事情都是特定于供应商的-因此我们确实需要知道您使用的是什么数据库系统和哪个版本请相应地更新标记…您只是在修改变量。您必须使用变量更新表,或直接修改表中的列。