`
myjcwy
  • 浏览: 110158 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
文章分类
社区版块
存档分类
最新评论

oracle xmltype 创建 、插入、更新、查找

阅读更多

转载备忘:

介绍了oracle9i的xmltype数据类型的基本使用

包括:建立含有xmltype数据类型的表
插入(insert)数据
查询(select)数据
更新(update)数据
添加超过4k字节的xml文档到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'') 

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(''/name/a/@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 ......
(注意:如果里面没有<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 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的子类型。

 

 

分享到:
评论

相关推荐

    dom+xpath读取xml并导入oracle.rar

    此外,如果XML文件过大,可考虑分批处理或使用XMLType等Oracle提供的高级特性来优化性能。 总结来说,通过DOM解析XML文档构建树形结构,XPath查询获取所需数据,再利用JDBC将这些数据插入Oracle数据库,我们可以...

    PLSQLDeveloper10.0用户指南

    - **更新数据库**:执行DML操作,如插入、更新和删除。 - **查看和编辑XMLTYPE列**:支持XML数据类型的处理。 - **直接查询导出**:直接导出查询结果,无需额外工具。 - **保存SQL脚本**:将SQL查询保存为文件,方便...

    PLSQL 使用手册

    - **更新数据库**:插入、更新或删除数据。 - **查看和编辑 XMLTYPE 列**:处理 XML 数据类型。 - **直接查询导出**:将查询结果保存为文件。 - **保存 SQL 脚本**:将 SQL 命令序列化为文本文件。 - **创建标准查询...

    PLSQL Developer7.0 最新中文手册

    - **置换变量**:在 SQL 语句或 PL/SQL 块中使用占位符来动态插入值。 #### 四、测试程序 - **创建测试脚本**:用于模拟实际操作场景的脚本。 - **运行测试脚本**:执行测试脚本来验证程序逻辑。 - **变量类型**:...

    pl/sql developer

    - 提供便捷的数据库更新功能,如插入、更新、删除记录等。 - 支持批量操作,提高效率。 ##### 6.7 查看和编辑XMLTYPE列 - 支持查看和编辑XML类型的列数据。 - 适用于处理复杂的数据结构。 ##### 6.8 直接查询导出 ...

    PL_SQL Dev7.0教程

    - 支持多种 SQL 语句类型,包括查询、插入、更新等。 ##### 6.2 结果表格处理 - “Result Grid”用于显示 SQL 查询的结果。 - 可以对结果进行排序、过滤等操作。 ##### 6.3 实例模式查询 - 支持直接查询 Oracle ...

    PLSQL中文手册(相当全面)

    - **查看和编辑 XMLTYPE 列** - 如何操作 XML 类型的数据。 - **直接查询导出** - 介绍了一种直接导出查询结果的方法。 - **保存 SQL 脚本** - 如何保存 SQL 脚本文件。 - **创建标准查询** - 如何创建可重复...

    PLSQL学习资料

    熟练掌握SQL窗口,执行各种SQL语句,包括查询、插入、更新和删除操作。 ##### 6.2 结果表格处理 学习如何处理查询结果,如排序、过滤和分组,增强数据处理能力。 ##### 6.3 实例模式查询 掌握实例模式查询技术,...

    plsql developer 7.0教程

    **使用SQL窗口**:详细说明了如何在SQL窗口中执行SQL语句,查询、更新、插入或删除数据库中的数据。 **结果表格处理**:探讨了如何管理和操作查询结果,包括排序、筛选、分组等功能,提高数据处理的灵活性。 **...

    PLSQLDeveloper用户指南.pdf

    - 提供了安全可靠的更新数据库的功能,包括插入、更新和删除操作。 - 支持事务管理,确保数据一致性。 ##### 6.7 查看和编辑XMLTYPE列 - 支持查看和编辑Oracle数据库中的XML数据类型列。 - 提供了专门的编辑器,...

    plsql 中文操作手册

    安全地更新、插入或删除数据库记录,确保数据完整性。 ##### 查看和编辑XMLTYPE列: 处理XML格式的数据,支持XQuery和XPath表达式。 ##### 直接查询导出: 快速导出查询结果,适用于大数据量的处理。 ##### 创建...

    PL_SQL_Developer 7.0用户指南.pdf

    - **定义**: 在程序中插入占位符,运行时替换为实际值。 - **用途**: 方便测试不同数据输入情况下的程序表现。 #### 四、测试程序 ##### 4.1 创建测试脚本 - **操作**: 新建测试脚本文件,编写测试案例。 - **功能...

Global site tag (gtag.js) - Google Analytics