【发布时间】:2023-04-03 20:36:01
【问题描述】:
请帮忙!我在数据库中有一个 xml 字段。我正在尝试为字段中的每个元素插入一个新元素。例如:
<some-element>
<a> </a>
<b> </b>
</some-element>
<some-element>
<a> </a>
<b> </b>
</some-element>
将插入元素 c 并转到:
<some-element>
<a> </a>
<b> </b>
<c> </c>
</some-element>
<some-element>
<a> </a>
<b> </b>
<c> </c>
</some-element>
我知道我可以使用 @fieldname.modify('insert @CElement into (/some-element)[1]') 但这只会改变第一个元素!我想对所有元素重复此操作。
任何帮助将不胜感激! (我使用的是 SQL Server 2008)
从答案中移出:
感谢您的回复!如果我更具体一点,也许会有所帮助......我在 xml 中描述了一个简单的数据表。我正在尝试添加一个新列。我可以在列描述中添加列,但我需要将列元素添加到所有行。 (改变结构不是一件容易的事,我想避免这种情况!)例如:
<Table>
<Columns>
<Column ID="0">
<Column-Name>0NAME</Column-Name>
</Column>
<Column ID="1">
<Column-Name>1NAME</Column-Name>
</Column>
<Column ID="2">
<Column-Name>2NAME</Column-Name>
</Column>
<Column ID="3">
<Column-Name>!!!! THIS COLUMN IS BEING ADDED !!!!!</Column-Name>
</Column>
</Columns>
<Rows>
<Row ID="0">
<C ID="0">0 contents here</C>
<C ID="1">0 contents here</C>
<C ID="2">0 contents here</C>
<!-- NEW COLUMN NEEDS TO BE CREATED HERE -->
</Row>
<Row ID="1">
<C ID="0">1 contents here</C>
<C ID="1">1 contents here</C>
<C ID="2">1 contents here</C>
<!-- NEW COLUMN NEEDS TO BE CREATED HERE -->
</Row>
<Row ID="2">
<C ID="0">2 contents here</C>
<C ID="1">2 contents here</C>
<C ID="2">2 contents here</C>
<!-- NEW COLUMN NEEDS TO BE CREATED HERE -->
</Row>
</Rows>
</Table>
【问题讨论】:
标签: sql-server xml sql-server-2008 xpath xquery