Sql server 2008 使用XQuery根据XML中的条件更新属性值
我有以下XMLSql server 2008 使用XQuery根据XML中的条件更新属性值,sql-server-2008,tsql,xquery,Sql Server 2008,Tsql,Xquery,我有以下XML <Root xmlns:test="http://sample"> <Values> <Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="1"> </Value> <Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p
<Root xmlns:test="http://sample">
<Values>
<Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="1">
</Value>
<Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="1">
</Value>
<Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="2">
</Value>
<Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="2">
</Value>
<Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:type="1">
</Value>
</Values>
</Root>
在这里,我试图用type=2
将所有值元素更新为type=3
有人能告诉我怎么做吗?declare@XML=
'
';
而@XML.exist('声明命名空间d3p1='http://www.w3.org/2001/XMLSchema-instance";
/根/值/值[@d3p1:type=“1”]')=1
开始
set@XML.modify('声明命名空间d3p1='http://www.w3.org/2001/XMLSchema-instance";
替换(/Root/Values/value[@d3p1:type=“1”]/@d3p1:type)[1]的值
带2’)
结束
选择@XML
结果: