【问题标题】:How to insert dynamic node in xml? sql server如何在xml中插入动态节点? sql服务器
【发布时间】:2018-02-05 08:43:34
【问题描述】:
我有一个表 A。我想在 xml 中插入列。
我知道“@x.modify('insert <a>{sql:column("XColumn")}</a>' into /') from A”没问题。
但是如何在xml 中插入动态节点呢?
'@x.modify('insert <{sql:column("XColumn")}>1</{sql:column("XColumn")}>' into /') from A'是错误的。
我在文档中找不到任何解决方法。
【问题讨论】:
标签:
sql-server
xquery
xml-dml
【解决方案1】:
因此,您必须构造要在 SQL 中插入的 XML。例如:
DECLARE @NewXML XML
-- I am sure there is a cleaner way to do this... / Using a template
SET @NewXML = CONVERT(XML, '<' + @ElementName + '>' + @Value + '</' + @ElementName + '>')
@XML.modify('insert sql:variable("@NewXML") into (/root)[1]')
希望它是您正在寻找的东西!