我在 XMLTYPE 类型的 DUMMY 表中有列作为 VALUE。它包含:
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>802
</Data>
</Value>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
对于 802 值标签,我需要将其替换为 NULL。输出应该是:
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
802 值标签应使用 NULL 删除。
我试过UpdateXML():
update Dummy set VALUE=updatexml(VALUE,'ROWSET/Value/Data/text()','');
但它只会用 null 更新 802 值。
第二种方法:更新虚拟集 Value=updatexml(Value,'ROWSET','');
但它会删除 ROWSET 标记内的所有内容。然后,它将仅包含:
<?xml version="1.0"?>
<ROWSET/>
我也试过 Replace() 。
update Dummy set emps=replace('
<Value><Data>802
</Data></Value>',null);
然后它将从 VALUE 列中删除其他值,并仅保留 replace() 中提到的标记。
在此替换()之后,它包含:
<Value><Data>802
</Data></Value>
请就此向我提出建议。