SELECT extractvalue (Value (wl),'*/test_3') FROM test_xml,table (xmlsequence (extract (xml_data,'*/record'))) wl
但是当test_3节点包含大量数据时失败:
ORA-01706: user function result value was too large
我修改了我的查询:
SELECT extractvalue(Value (wl),'*/test_3').getClobVal() FROM test_xml,'*/record'))) wl
但这失败了:
解决方法 通过Oracle论坛收到的回复解决了这个问题:ORA-22806: not an object or REF
See Forum Post
从Oracle 11.2.0.2版开始:
SELECT x.*FROM test_xml t,XMLtable( '/*/record' passing t.xml_data columns test_3 clob path 'test_3' ) x;
我的数据库版本是10.2.0.4,因此需要以下“技巧”:
SELECT dbms_xmlgen.convert(x.test_3.getClobVal(),1) as test_3FROM test_xml t,XMLtable( '/*/record' passing t.xml_data columns test_3 xmltype path 'test_3/text()' ) x;
谢谢你去odIE_63吧
总结以上是内存溢出为你收集整理的Oracle SQL – 使用重复节点从XML中提取clob值全部内容,希望文章能够帮你解决Oracle SQL – 使用重复节点从XML中提取clob值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)