我有xml文档
<d>
<r>a<b</r>
</d>
我想将其更新为
<d>
<r>a<b or c>d</r>
</d>
使用updateXML语句。
执行
select updateXML(xmltype('<d><r>a<b</r></d>'),
'/d/r[1]/text()',
'a<b or c>d')
from dual;
返回
<d>
<r>a&lt;b or c&gt;d</r>
</d>
不好是因为“&”。
执行
select updateXML(xmltype('<d><r>a<b</r></d>'),
'/d/r[1]/text()',
'a<b or c>d')
from dual;
投掷
ORA-31067 XML 节点必须使用相同类型的有效节点进行更新。
我怎样才能达到预期的结果?
编辑:ORA-31067 仅在 10g 数据库中提出。在 11g 中是正确的查询。
EDIT2:在 10.2.0.3 版本上出现错误,在 10.2.0.5 上没有出现。可能是一个错误?