[英]TSQL Delete XML node if its child element contains a given value
XML存储在<Addresses>
下可以有零个或多个<Address>
节点需要查询以删除任何<Address>
<AddressLine> = '2 Church Lane'
<Address>
节点
启动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"])
')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.