我有一个包含大量 XML 的 CLOB 列。我想在那个 XML 中添加一个新属性,比如这个属性:
<name>me</name>
我尝试使用UpdateXML
,但我没有得到它的权利。
CLOB
转换为XMLType
usingXMLType()
并XMLType
转换为CLOB
using to_clob
。下面是一个例子。
create table table_with_clob (myclob clob);
insert into table_with_clob values ('<mytag><subtag>hello world</subtag></mytag>');
UPDATE table_with_clob SET myclob =
to_clob(INSERTCHILDXML(xmltype(myclob),
'/mytag', 'subtag',
XMLType('<subtag>another</subtag>')));
select * from table_with_clob;
输出
myclob
------
<mytag><subtag>hello world</subtag><subtag>another</subtag></mytag>
虽然我认为这不是很有效,您最好将列转换为 XMLType 并使用它进行操作。