共计 1222 个字符,预计需要花费 4 分钟才能阅读完成。
在向大家详细介绍 Oracle 之前,首先让大家了解下 Oracle xmltype 是什么,Oracle 从 9i 开始支持一种新的数据类型 —- xmltype,用于存储和管理 xml 数据,并提供了很多的 functions,用来直接读取 xml 文档和管理节点。下面将介绍 Oracle xmltype 的一些基本使用。
1. 建立含有 Oracle xmltype 数据类型的表 create table abc (id number,xmldoc sys.xmltype); 声明 xmltype 型字段用:sys.xmltype。
2. 向带有 xmltype 类型的表插入带有数据 insert into abc (id,xmldoc) value (abc.nextval , sys.xmlType.createXML(”<name><a id=”1″ value=”some values”>abc</a></name>”) ); 插入用 sys.xmlType.createXML(”some xml doc”)
3. 直接查询 Oracle xmltype 字段里面的内容得到 id= 1 的 value 变脸的值 select i.xmldoc.extract(”//name/a[@id=1]/@value”).getStringVal() as ennames, id from abc i 得到 a 节点的值 select id, i.xmldoc.extract(”//name/a/text()”).getStringVal() as truename from abc i 得到节点 id 属性的值 Select hd.Data_t.extract(”/root/name/@id”).getStringVal() As Name FROM sehr_house_data hd
4. 更新 Oracle xmltype 里面的数据 update abc set xmldoc=updateXML(xmldoc,”//name/a[@id=1]/@value”,”some new value”) where ……(注意:如果里面没有 <a id=”1″> 这个节点,将不能 update)
5. 添加超过 4k 字节的 xml 文档到 xmltype 型字段可以通过使用临时表的办法实现:
◆先建立一个临时的表,其中的一个字段是 clob 类型;
◆再将要写入 xmltype 字段的 xml doc 写入这个临时的 clob 型的字段中;
◆最后 insert into abc (id,xmldoc) values (abc_q.nextval , sys.xmlType.createXML((select content from 临时表 where id=……)));
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/141677.htm