简介Oracle xmltype

数据库 Oracle
这里介绍建立含有Oracle xmltype数据类型的表create table abc (id number,xmldoc sys.xmltype);声明xmltype型字段用:sys.xmltype。

在向大家详细介绍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=......)));

【编辑推荐】

  1. Oracle监听器,让你监听想要的东东
  2. 你是否懂得Oracle.Net协议栈
  3. 概论Oracle数据库优化器
  4. 简明扼要介绍Oracle Provider
  5. 详谈捕获Oracle SQL语句执行计划
责任编辑:佚名 来源: IT168
相关推荐

2009-11-18 16:43:59

2010-10-28 10:54:46

oracle对象权限

2010-11-15 12:02:24

Oracle进程结构

2010-11-19 16:03:20

Oracle分析表

2009-11-16 11:03:44

Oracle INDE

2010-10-25 15:12:42

Oracle日期函数

2010-10-25 17:28:05

Oracle bita

2011-04-12 13:27:09

Oracle日期函数

2015-08-21 12:59:38

Oracle数据库

2010-11-18 13:09:19

Oracle case

2010-10-25 17:39:24

Oracle单行日期函

2023-10-11 06:50:32

Oracle数据库系统

2010-10-26 17:41:05

Oracle索引

2010-10-25 14:47:49

Oracle系统变量函

2010-10-26 11:39:51

Oracle EXPIMP备份

2010-04-08 18:33:46

Oracle VARR

2010-04-27 12:51:49

Oracle 函数de

2010-05-05 16:30:25

Oracle后台进程

2010-04-27 10:04:52

Oracle rman

2010-04-08 16:41:29

Oracle存储过程
点赞
收藏

51CTO技术栈公众号