Java中xmltype 用法_(1)oracle中XMLType类型的使用
发布日期:2021-06-24 17:44:08 浏览次数:2 分类:技术文章

本文共 2716 字,大约阅读时间需要 9 分钟。

Oracle9i之xmltype应用(1)

介绍了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('

id="1" value="some

values">abc

')

);

插入用 sys.xmlType.createXML('some xml doc')

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

得到节点id属性的值

Select

hd.Data_t.extract('/root/name/@id').getStringVal() As Name FROM sehr_house_data hd

4.更新xmltype里面的数据

update abc set

xmldoc=updateXML(xmldoc,“//name/a[@id=1]/@value”,''some new

value'') where ......

(注意:如果里面没有

id="1">这个节点,将不能update)

Oracle 9i提供的XML内置特性:

Oracle 9i支持XMLType类型,它是一种Oracle

9i系统定义的对象类型。XMLType有内置的函数,有力的提供了推XML的创建,索检,索引等功能。

用户可以使用SQL函数动态的产生XML文档。这些函数有:SYS_XMLGEN和SYS_XMLAGG和PL/SQL包DBMS_XMLGEN。

XML特性

描述

XMLType

1、XMLType是oracle系统定义的数据类型,系统预定义了内部函数去访问XML数据。可以执行下面的任务:

2、创建XMLType列,在XMLType列上面使用内置的函数。

创建PL/SQL函数和存储过程,可以使用XMLType作为参数传入,或者作为返回参数传出。

3、在XMLType列上面存储、索引、处理XML数据。

DBMS_XMLGEN

DBMS_XMLGEN是一个PL/SQL包,提转换一个sql查询的结果到标准的xml格式,返回的是一个XMLTye类型或者是CLOB,DBMS_GEN是用c语言实现,放置在数据库的内核中。DBMS_XMLGEN包和DBMS_XMLQuery包的功能相相似。

SYS_XMLGEN

XMLGEN是一个SQL函数,它用来在sql查询中产生XML,DBMS_XMLGEN和其他包操作在查询水平,

SYS_XMLGEN把一个值,对象类型,XMLType实例转换成一个XML文档。SYS_XMLGEN返回的类型是XMLType。

SYS_XMLAGG

SYS_XMLAGG 是一个聚合函数,它聚合在XMLType类型上面。

SYS_XMLAGG聚合所有的输入的XML文档合片断并且通过连接XML片断合增加上一层的标签产生单个XML文档

UriTypes

UriType

类型家族能够在数据库中存储和查询Ur-refs,SYS.UriType是一抽象的数据类型,它提供功能去访问URL指向的数据。

SYS.HttpUriType和SYS.DBUriType是UriType的子类型。SYS.HttpUriType存储的是HTTP

URLs,DBUriType存储的是intra-database 参考。你可以定义自己的SYS.UriType的子类型。

如何使用XMLType

创建XMLType列:

CREATE TABLE warehouses(

warehouse_id NUMBER(3),

warehouse_spec SYS.XMLTYPE,

warehouse_name VARCHAR2(35),

location_id NUMBER(4));

插入XMLType列数据

INSERT into warehouses (warehouse_id, warehouse_spec) VALUES (1001,

sys.XMLType.createXML(

Owned

’));

createXML的输入参数可以是任何的返回为varch

ar2的表达式或者式CLOB。CreateXML能够检测XML是否的符合合适的,但是它不能检查XML的有效性。

使用在XMLType列上sql查询

SELECT

w.warehouse_spec.extract(''/Warehouse/Building/text()'').getStringVal()

"Building"

FROM warehouses w

warehouse_spec是一个XMLType列,

Extract()是操作在上面的函数

查询结果如下:

Building

-----------------

Owned

更新XMLType的列

UPDATE warehouses SET warehouse_spec =

sys.XMLType.createXML(

Leased

’));

删去XMLType的列

DELETE FROM warehouses e

WHERE

e.warehouse_spec.extract(’//Building/text()’).getStringVal()

= ’Leased’;

转载地址:https://blog.csdn.net/weixin_34207880/article/details/114797838 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java面向对象编程点餐系统_java 面向对象编程--第17章 I/O系统
下一篇:mysql 导出json_如何将MySQL数据库导出到JSON?

发表评论

最新留言

不错!
[***.144.177.141]2024年04月14日 14时08分05秒