如何向 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   回答