XML存储可以具有零个或多个<地址> < Addresses>下的节点
需要查询才能删除任何<地址>其< AddressLine>的节点=’2教堂巷’
需要查询才能删除任何<地址>其< AddressLine>的节点=’2教堂巷’
启动XML:
declare @t table (storage xml); insert into @t (storage) select '<Person> <Fullname /> <Surname>Smith</Surname> <FirstName>John</FirstName> <Addresses> <Address> <AddressLine>1 Church Lane</AddressLine> </Address> <Address> <AddressLine>2 Church Lane</AddressLine> </Address> <Address> <AddressLine>3 Church Lane</AddressLine> </Address> </Addresses> </Person>';
产生的XML:
<Person> <Fullname /> <Surname>Smith</Surname> <FirstName>John</FirstName> <Addresses> <Address> <AddressLine>1 Church Lane</AddressLine> </Address> <Address> <AddressLine>3 Church Lane</AddressLine> </Address> </Addresses> </Person>
解决方法
找到了:
update @t SET storage.modify(' delete (/Person/Addresses/Address[AddressLine = "2 Church Lane"]) ')