oracle xmltype 创建 、插入、更新、查找
插入用 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)?
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的子类型。
?
?