У меня есть некоторый XML, передаваемый в хранимую процедуру SQL, которая выглядит следующим образом:
<root>
<category>
<property id="blah" otherID="blahblah" year="2015">
<property id="blah" otherID="notBlahBlah" year="2015">
</category>
</root>
Я хочу удалить из этого узел свойства, используя SQL на основе нескольких атрибутов узла. Например, скажем, я хотел удалить свойство с id = "blah" и otherID = "blahblah". Как я мог это сделать? Спасибо.
Это код, который я до сих пор основывал на своем наилучшем предположении о том, как это сделать, прочитав некоторую документацию по XQUERY, но он работает неправильно:
DECLARE @XML AS XML
SET @XML = '<root>
<category>
<property id="blah" otherID="blahblah" year="2015">
<property id="blah" otherID="notBlahBlah" year="2015">
</category>
</root>'
UPDATE @XML.nodes('/root/category/property')
SET data.modify('delete /root/category/property[id="blah", otherID="blahblah"]')