Oracle9i之xmltype应用

[文章摘要]介绍了oracle9i的xmltype数据类型的基本使用
包括:建立含有xmltype数据类型的表
插入(insert)数据
查询(select)数据
更新(update)数据
添加超过4k字节的xml文档到xmltype型字段
适合初学者。
 

关键词: oracle9i xmltype


oracle从9i开始支持一种新的数据类型---- xmltype,用于存储和管理xml数据,并提供了很多的functions,用来直接读取xml文档和管理节点。下面将介绍xmltype的一些基本使用。

1.建立含有 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') ,且xml字符串直接拼接到sql语句中,不要使用参数

3.直接查询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"; 

4.更新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=......)));
 
程序员的基础教程: 菜鸟程序员

转载于:https://www.cnblogs.com/guohu/archive/2013/02/18/2915136.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值