我想将属性插入XML数据类型的根节点。如果我知道根节点的名称是Quote,那么我可以这样插入:
DECLARE @myDoc xml;
DECLARE @id int;
SET @id = 12345;
SET @myDoc = '<Quote>
<Close>
123
</Close>
</Quote>' ;
SET @myDoc.modify('
insert attribute ID {sql:variable("@id") }
into (/Quote)[1] ');
SELECT @myDoc;
如果我不知道根节点名称怎么办?我想向根节点插入一个属性,无论根名称如何。我使用的是SQL Server 2008r2。感谢。
答案 0 :(得分:1)
使用(/*)[1]
找到根节点:
SET @myDoc = '<Quote>
<Close>
123
</Close>
</Quote>' ;
SET @myDoc.modify('
insert attribute ID {sql:variable("@id") }
into (/*)[1] ');