Sql 如何使用XMLQuery更新clob Oracle中的XML属性
Oracle表名:SR_数据 表字段名称:XMLDATA类型CLOB 字段值:Sql 如何使用XMLQuery更新clob Oracle中的XML属性,sql,xml,oracle,clob,Sql,Xml,Oracle,Clob,Oracle表名:SR_数据 表字段名称:XMLDATA类型CLOB 字段值: <module xmlns="http://www.mytest.com/2008/FMSchema"> <tmEsObjective modelCodeScheme="A" modelCodeSchemeVersion="01" modelCodeValue="ES_A"></tmEsObjective&g
<module xmlns="http://www.mytest.com/2008/FMSchema">
<tmEsObjective modelCodeScheme="A" modelCodeSchemeVersion="01" modelCodeValue="ES_A"></tmEsObjective>
</module>
此代码返回错误代码:ORA-00932:不一致的数据类型:预期的CLOB GET-使用getclobval()
如下所示:
UPDATE SR_DATA
SET XMLDATA =
XMLTYPE.GETCLOBVAL(XMLQuery('copy $i := $p1 modify
((for $j in $i/module/tmEsObjective/@modelCodeValue
return replace value of node $j with $p2))
return $i'
PASSING XMLType(REPLACE(xmldata, 'xmlns="http://www.mytest.com/2008/FMSchema"', '')) AS "p1",
'ES_B' AS "p2"
RETURNING CONTENT ));
UPDATE SR_DATA
SET XMLDATA =
XMLTYPE.GETCLOBVAL(XMLQuery('copy $i := $p1 modify
((for $j in $i/module/tmEsObjective/@modelCodeValue
return replace value of node $j with $p2))
return $i'
PASSING XMLType(REPLACE(xmldata, 'xmlns="http://www.mytest.com/2008/FMSchema"', '')) AS "p1",
'ES_B' AS "p2"
RETURNING CONTENT ));