如何向 Oracle 数据库的 CLOB 中包含的 xml 添加属性?我可以使用 UpdateXML 函数来更新现有属性,但它不会添加一个。
问问题
4252 次
3 回答
1
您可以使用 , 或 的组合deleteXml()
来appendChildXml()
删除insertChildXml()
现有insertXmlBefore()
节点,然后使用现在包含的新属性重新添加它。
于 2010-02-19T22:27:55.450 回答
1
with t as (
select
xmltype('<a><b c="2">1</b></a>') x,
'/a/b' node, --node where attribute located
'@d' att, --attribute name
'new' val --new value
from dual
)
select
x,
insertchildxml(deletexml(x,node||'/'||att), node, att, val) x_new
from t
于 2014-05-28T07:27:18.303 回答
1
简单的 Oracle SQL 将“attrname=attrval”添加到 mytable 中每一行的 clobcol 列 xml 中的所有 mynode 元素
update mytable s set
s.clobcol = insertchildxml(xmltype(s.clobcol)
,'//mynode'
,'@attrname'
,'attrval'
).getclobval();
于 2014-11-02T20:18:41.467 回答